Objective c 从iOS中的placesPicker传递Facebook位置id。。。发布提要的后参数的步骤
这让我快发疯了!我正试图让我的应用程序向用户facebook feed发布一条消息,并在iOS中从placesPicker中选择一个本地位置后签入facebook位置 在测试中,我几乎完成了所有工作,这意味着当我为NSMutableDictionary的所有postParams手工输入字符串值时,它可以完美地发布。例:Objective c 从iOS中的placesPicker传递Facebook位置id。。。发布提要的后参数的步骤,objective-c,ios,facebook,facebook-graph-api,facebook-ios-sdk,Objective C,Ios,Facebook,Facebook Graph Api,Facebook Ios Sdk,这让我快发疯了!我正试图让我的应用程序向用户facebook feed发布一条消息,并在iOS中从placesPicker中选择一个本地位置后签入facebook位置 在测试中,我几乎完成了所有工作,这意味着当我为NSMutableDictionary的所有postParams手工输入字符串值时,它可以完美地发布。例: self.postParams = [[NSMutableDictionary alloc] initWithObjectsAndKeys: @"I am do
self.postParams =
[[NSMutableDictionary alloc] initWithObjectsAndKeys:
@"I am doing XYZ", @"message",
@"123456abc",@"tags",
@"123456xyz,@"place",
nil];
当发布到feed时,上面的postParams可以完美地工作,它显示消息,然后签入“place”id,并在“tags”中显示用户id。问题是,我真的是从Facebook SDK的placePicker获得了PlaceID。我已经完成了选择器的设置,并且工作正常,但是我不知道如何用拾取位置的id替换硬编码的@123456xyz
这就是我现在所拥有的:
self.postParams =
[[NSMutableDictionary alloc] initWithObjectsAndKeys:
@"I am doing XYZ", @"message",
@"123456abc",@"tags",
self.selectedPlace.id,@"place",
nil];
self.selectedplace.id确实成功地包含了该位置的id,当我在控制台中使用debug/NSLog打印它时,它准确地保存了该值。但是,当我在选择一个位置后尝试发布此内容时,我会得到“错误:domain=com.facebook.sdk,code=5”
以下是self.selectedPlace的定义和合成方式:
@property (strong, nonatomic) NSObject<FBGraphPlace> *selectedPlace;
...
@synthesize selectedPlace = _selectedPlace;
...
[placePicker presentModallyFromViewController:self
animated:YES
handler:^(FBViewController *sender, BOOL donePressed) {
if (donePressed) {
self.selectedPlace = placePicker.selection;
}
}];
@property(强,非原子)NSObject*selectedPlace;
...
@合成selectedPlace=\u selectedPlace;
...
[placePicker presentModallyFromViewController:自
动画:是的
处理程序:^(FBViewController*发送方,BOOL donePressed){
如果(未按下){
self.selectedPlace=placePicker.selection;
}
}];
因此,总结一下我的问题:我如何才能成功地将存储在self.selectedPlace.id中的这个位置id获取到postParams字典中,从而成功地解释并发布到用户的提要中
另外,我应该提前警告大家。。。我自学成才,仍在学习,虽然我可以看代码,理解代码的功能,并编写代码。。。恐怕我对术语不太在行&讨论/理解一些语言。。。哈哈,如果你在任何回答或评论中记住这一点,那将对我有很大帮助:)谢谢,我期待着打破我的stackoverflow新手壳,在这里成为社区的一员。解决了这个问题。。。而不是使用initWithObjectsAndKeys集体设置post参数,如下所示:
self.postParams =
[[NSMutableDictionary alloc] initWithObjectsAndKeys:
@"I am doing XYZ", @"message",
@"123456abc",@"tags",
self.selectedPlace.id,@"place",
nil];
只需为要传递的每个参数创建单独的字典,并使用setValue:forKey:
[fbPostParams setValue:self.selectedPlace.id forKey:@"place"];