Я пытаюсь вернуть эти данные обратно в c ++, но есть некоторые случайные сбои. Я хочу получить доступ к данным в C ++. Иногда это так, иногда нет. Я не смог найти четкий пример того, как вернуть эти данные. Вот мой код:
- (NSString*) sendRequestToServer : (CLLocationCoordinate2D) location {
NSLog(@"getting geo from server %@ %@ ", [NSString stringWithFormat:@"%f", location.latitude],[NSString stringWithFormat:@"%f", location.longitude]);
__block long returnBytesSend = 0;
__block long returnBytesTotal = 0;
__block NSString* tempData = @"" ;
__block BOOL foundNow = false;
self.data = nil;
for (NXOAuth2Account *account in [[NXOAuth2AccountStore sharedStore] accounts]) {
NSMutableDictionary *params = [NSMutableDictionary dictionary];
[params setObject: [NSString stringWithFormat:@"%f", location.latitude] forKey: @"latitude"];
[params setObject: [NSString stringWithFormat:@"%f", location.longitude] forKey:@"longitude" ];
[params setObject: @"10" forKey: @"radius" ];
[params setObject: @"5" forKey: @"limit"];
NXOAuth2Client *client = [account oauthClient];
NXOAuth2AccessToken *tokenData = [client accessToken];
NSString * clientAccessToken = [tokenData accessToken];
NSString * clientRefreshToken = [tokenData refreshToken];
if (clientAccessToken && clientRefreshToken ){
[NXOAuth2Request performMethod:@"GET"onResource:[NSURL URLWithString:@"http://www.server.com/list"]
usingParameters: params
withAccount:account
sendProgressHandler:^(unsigned long long bytesSend, unsigned long long bytesTotal) {
returnBytesSend = bytesSend ;
returnBytesTotal = bytesTotal;
}
responseHandler:^(NSURLResponse *response, NSData *responseData2, NSError *error){
NSLog(@"FOUND DATA");
NSRange range = [[[NSString alloc] initWithData:responseData2 encoding:NSUTF8StringEncoding] rangeOfString : @"facebook_id"];
if(range.location != NSNotFound) {
tempData = [[[NSString alloc] initWithData:responseData2 encoding:NSUTF8StringEncoding]retain];
//NSLog(@"%@", tempData);
self.data = [[tempData copy] autorelease];
foundData = true;
}
}];
}
}
return tempData;
}
Я пытался получить доступ к данным следующим образом:
@interface oAuthView : UIWebView
@property (nonatomic, strong) __block NSString* data;
@property (nonatomic) __block BOOL foundData;
а в с ++ вот так:
oAuthView *getWebView;
getWebView =[[oAuthView alloc] initWithFrame:CGRectMake(10,40,300,400)];
if ([getWebView foundData] )
string dataS = string([[artPartView data] UTF8String]));
Задача ещё не решена.
Других решений пока нет …