Objective c 签入计数与位置计数不匹配
我正在查看我最近的入住记录,以及查找地名。我当前请求用户\u状态权限。我首先请求如下数据:Objective c 签入计数与位置计数不匹配,objective-c,facebook-graph-api,nsmutablearray,checkin,Objective C,Facebook Graph Api,Nsmutablearray,Checkin,我正在查看我最近的入住记录,以及查找地名。我当前请求用户\u状态权限。我首先请求如下数据: -(void) makeCheckinRequest{ NSString *query = @"{" @"'checkins':'SELECT coords, page_id, timestamp FROM checkin WHERE author_uid= me()'," @"'places':'SELECT name FROM place WHERE page_id IN (SELECT page_i
-(void) makeCheckinRequest{
NSString *query =
@"{"
@"'checkins':'SELECT coords, page_id, timestamp FROM checkin WHERE author_uid= me()',"
@"'places':'SELECT name FROM place WHERE page_id IN (SELECT page_id FROM #checkins)',"
@"}";
NSDictionary *queryParam =
[NSDictionary dictionaryWithObjectsAndKeys:query, @"q", nil];
// Make the API request that uses FQL
[FBRequestConnection startWithGraphPath:@"/fql"
parameters:queryParam
HTTPMethod:@"GET"
completionHandler:^(FBRequestConnection *connection,
id result,
NSError *error) {
if (error) {
NSLog(@"Error: %@", [error localizedDescription]);
} else {
[self extractRelevantRecentCheckinsFor:result];
NSLog(@"Result: %@", result);
}
}];
}
…然后我截取此方法返回的数据:
-(void) extractRelevantRecentCheckinsFor:(id) graphObject{
NSDictionary *resultDict = (NSDictionary *)graphObject;
NSArray *data = [resultDict objectForKey:@"data"];
for (FBGraphObject *friendObj in data) {
NSDate *date = [NSDate dateWithTimeIntervalSince1970:
[[friendObj objectForKey:@"timestamp"] intValue]];
DLog(@"checkin date is %@", [[theStoryline.common dayAndTime] stringFromDate:date]);
}
}
问题在于数据
包含两个FBGraphObjects
,其中包含不匹配的项目计数。键名为:checkins
的FBGraphObject
有15个对象,所有对象都具有有效坐标
键名为:places
的FBGraphObject
有14个对象
你怎么可能得到不同的数组大小?找到了答案:事实证明,每次你签入Facebook时,Facebook都会向你返回一个“签入”列表,但是(至少按照我编写多重查询的方式),它会返回一个唯一的“地点”列表。这意味着我已经两次登录一个地方。找到了答案:事实证明,Facebook会在你每次登录时向你返回一个“登录”列表,但是(至少按照我编写多查询的方式),它会返回一个唯一的“地点”列表。这意味着我在一个地方登记了两次