parsing和Xcode:块不会自动完成。

Parse(1.7.1)和Xcode(6.3)的最后一个版本我无法自动完成parsingAPI块。 这真的很烦人 有没有其他人有这个问题?

之前,像其他所有块一样,您可以通过标签突出显示,然后按回车。

[query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) { }]; 

现在当我进入时,发生这种情况:

 [query findObjectsInBackgroundWithBlock:(nullable PFArrayResultBlock(nullable )block 

随着新的更新parsing带走了进入和完成块的能力。 我认为这样做不好。 但是,这是解决方法。 这些块在PFConstants.h中是这样定义的

 typedef void (^PFBooleanResultBlock)(BOOL succeeded, NSError *PF_NULLABLE_S error); typedef void (^PFIntegerResultBlock)(int number, NSError *PF_NULLABLE_S error); typedef void (^PFArrayResultBlock)(NSArray *PF_NULLABLE_S objects, NSError *PF_NULLABLE_S error); typedef void (^PFObjectResultBlock)(PFObject *PF_NULLABLE_S object, NSError *PF_NULLABLE_S error); typedef void (^PFSetResultBlock)(NSSet *PF_NULLABLE_S channels, NSError *PF_NULLABLE_S error); typedef void (^PFUserResultBlock)(PFUser *PF_NULLABLE_S user, NSError *PF_NULLABLE_S error); typedef void (^PFDataResultBlock)(NSData *PF_NULLABLE_S data, NSError *PF_NULLABLE_S error); typedef void (^PFDataStreamResultBlock)(NSInputStream *PF_NULLABLE_S stream, NSError *PF_NULLABLE_S error); typedef void (^PFStringResultBlock)(NSString *PF_NULLABLE_S string, NSError *PF_NULLABLE_S error); typedef void (^PFIdResultBlock)(PF_NULLABLE_S id object, NSError *PF_NULLABLE_S error); typedef void (^PFProgressBlock)(int percentDone); 

所以你的代码是

 [query findObjectsInBackgroundWithBlock:^(NSArray *PF_NULLABLE_S objects, NSError *PF_NULLABLE_S error) 

这里,^(NSArray * PF_NULLABLE_S对象,NSError * PF_NULLABLE_S错误)是PFArrayResultBlock。

为了使事情更快,您可以控制点击PFUserResultBlockfind定义和复制。

我得到了修正,在parsing头上的一点点改变,这只是暂时的黑客,使块工作,我重置这些变化,一旦我上传了一个新的构build。 在parsing1.7.4和xcode 6.3.2validation了这一点

在PFConstants.h中,删除“PF_NULLABLE_S”的所有实例,并在PFQuery.h中删除“PF_NULLABLE”,“PF_NULLABLE_S”,“PF_ASSUME_NONNULL_BEGIN”和“PF_ASSUME_NONNULL_END”的所有实例

你会得到警告“可空性问题”,但在我的testing工作很好,我也重置这个头,当我上传一个新的构build。

如何绕过这个问题是使用旧的自动完成^(BOOL succeeded, NSError *error)并创build一个片段。 创build代码片段的方法是select文本并将其拖到代码片段库中(可以通过谷歌search)。

我知道,这不是一个'修复',但它至less做的工作:)

尝试使用cocoapods来实现它,自动完成function将起作用。

我尝试通过拖放导入parsingSDK,自动完成不会工作,但代码将运行。 但是,当你通过pod安装添加库时,它将会工作。

请参阅这里的cocoapod installtion部分

http://shaideru.com/?p=223