作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我想使用 FBFriendsPickerViewController 显示有限的 friend 列表(例如,由特定 FQL 生成) .文档提示可以使用 FBCacheDescriptor 预取好友列表。 ,但后者的文档很差。我没有在 SDK 示例中找到任何示例。
最佳答案
据我了解,FBCacheDescriptor是预取你需要的数据,提高table views的响应能力。例如,如果你想缓存好友选择器列表,你可以这样做......
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions: (NSDictionary *)launchOptions {
if (FBSession.activeSession.state == FBSessionStateCreatedTokenLoaded) {
[FBSession sessionOpen];
FBCacheDescriptor *cacheDescriptor = [FBFriendPickerViewController cacheDescriptor];
[cacheDescriptor prefetchAndCacheForSession:FBSession.activeSession];
}
return YES;
}
Facebook 提供的 Scrumptious 演示应用程序有一个很好的示例。
您可以使用新的 API 执行 FQL,但就像我说的那样,将它与 Cache 绑定(bind)在任何地方都没有记录。以下是使用新 SDK 运行 FQL 的方法...
- (void)getFacebookFriends {
NSMutableDictionary * params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
@"Your FQL Query goes here", @"query",
nil];
FBRequestConnection *connection = [FBRequestConnection new];
FBRequestHandler handler =
^(FBRequestConnection *connection, id result, NSError *error) {
........
//Process the result or the error
NSLog(@"%@", result);
};
FBRequest *request = [[FBRequest alloc] initWithSession:FBSession.activeSession
restMethod:@"fql.query"
parameters:[params mutableCopy]
HTTPMethod:HTTP_GET];
[connection addRequest:request completionHandler:handler];
[self.requestConnection cancel];
self.requestConnection = connection;
[connection start];
}
关于objective-c - iOS SDK 3.0 - 带有 FBCacheDescriptor 的 FBFriendPickerViewController - 有限的好友列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11596253/
我想使用 FBFriendsPickerViewController 显示有限的 friend 列表(例如,由特定 FQL 生成) .文档提示可以使用 FBCacheDescriptor 预取好友列表
我是一名优秀的程序员,十分优秀!