我目前正在构建一个允许用户通过Facebook注册的社交媒体应用。我的注册过程工作正常,但我想做的一件事是请求用户城市和州,并将它们作为单独的密钥存储在我的数据库中。通过这种方式,我可以允许用户在我的应用中按城市或州搜索用户。
我已经设置了FBRequestConnection方法并整体提取用户位置。
是否可以查询城市和州并单独存储?如果有,有什么建议吗?
提前致谢!
答案 0 :(得分:1)
你现在正在做的评论:
[FBRequestrequestForMe]
然后:
if ([result objectForKey:@"location"]) {
NSString *facebookLocation = [[result objectForKey:@"location"] objectForKey:@"name"];
[[PFUser currentUser] setObject:facebookLocation forKey:@"location"];
}
result
是FBGraphUser
对象,您正在访问的location
属性是FBGraphPlace
对象:
https://developers.facebook.com/docs/reference/ios/current/protocol/FBGraphPlace
您当前正在访问name
的{{1}}属性,该属性为您提供该地点的NSString表示。您要做的是访问FBGraphPlace
属性location
。此对象具有所需各种组件的属性:
https://developers.facebook.com/docs/reference/ios/current/protocol/FBGraphLocation
(我现在不在Mac上,因此此代码中可能存在一些错误)您应该可以执行以下操作:
FBGraphLocation
然后,您可以使用此信息,但是您希望与Parse用户一起使用:
id<FBGraphUser> fbUser = (id<FBGraphUser>)result;
id<FBGraphPlace> fbPlace = [fbUser location];
id<FBGraphLocation> fbLocation = [fbPlace location];
NSString * userCity = [fbLocation city];
NSString * userCountry = [fbLocation country];
NSString * userZip = [fbLocation zip];
//etc