这一直让我发疯!我试图让我的应用程序向用户的 facebook 提要发布消息,并在从 iOS 中的 placesPicker 选择本地位置后签入到 facebook Place。
我几乎已经完成了测试中的所有工作,这意味着当我为 NSMutableDictionary 的所有 postParams 手动键入字符串值时,它会完美发布。前任:
self.postParams =
[[NSMutableDictionary alloc] initWithObjectsAndKeys:
@"I am doing XYZ", @"message",
@"123456abc",@"tags",
@"123456xyz,@"place",
nil];
上面的 postParams 在发布到提要时完美运行,它显示消息,然后签入“地点”ID,并说您使用“标签”中的用户 ID。问题是我真的从 Facebook SDK 的 placePicker 获取了 Place id。我已经设置好选择器并且工作正常,但我不知道如何用所选位置的 id 替换硬编码的 @"123456xyz"。
这就是我现在所拥有的:
self.postParams =
[[NSMutableDictionary alloc] initWithObjectsAndKeys:
@"I am doing XYZ", @"message",
@"123456abc",@"tags",
self.selectedPlace.id,@"place",
nil];
self.selectedplace.id 确实成功地包含了 Place 的 id,当我在控制台中使用 debug/NSLog 打印它时,它准确地保存了该值。但是当我在选择一个地方后尝试发布它时,我得到“错误:域 = com.facebook.sdk,代码 = 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;
}
}];
所以,总结一下我的问题:我怎样才能成功地将存储在 self.selectedPlace.id 中的这个 Place id 放入 postParams 字典中,以便它可以被成功解释并发布到用户的提要中?
另外,我应该提前警告大家......我是自学成才,仍在学习,虽然我可以查看代码,理解它的作用并编写它......恐怕我对术语不太了解& 讨论/理解一些语言...大声笑,所以如果您在任何答案或评论中牢记这一点,这将对我有很大帮助:) 谢谢,我期待着打破我的 stackoverflow newb shell 和在这里变得更加远离社区。