Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/105.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 从iOS中的placesPicker传递Facebook位置id。。。发布提要的后参数的步骤_Objective C_Ios_Facebook_Facebook Graph Api_Facebook Ios Sdk - Fatal编程技术网

Objective c 从iOS中的placesPicker传递Facebook位置id。。。发布提要的后参数的步骤

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

这让我快发疯了!我正试图让我的应用程序向用户facebook feed发布一条消息,并在iOS中从placesPicker中选择一个本地位置后签入facebook位置

在测试中,我几乎完成了所有工作,这意味着当我为NSMutableDictionary的所有postParams手工输入字符串值时,它可以完美地发布。例:

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"];