私は Reactive Cocoa が初めてで、誰かがこの問題を解決してくれるかどうか疑問に思っています:
問題を引き起こしているコードスニペットは次のとおりです。
[[[self getFormItemAttachmentHeaders:listName
topListItemID:form.topListItemID
form:form
] map:^id(NSMutableArray* value) {
NSArray* attachmentHeaders = [value copy];
return attachmentHeaders;
}
] subscribeNext:^(NSArray* attachmentHeaders) {
return [self uploadFormItemAttachments:pendingAttachments
attachmentHeaders:attachmentHeaders
form:form];
}
];
このコードは、次のように定義された同じメソッド内の RACsignal オブジェクトから呼び出されます。
RACSignal* batchSignal = [RACSignal createSignal:^RACDisposable *(id<RACSubscriber> subscriber) {
[pendingAttachments enumerateObjectsUsingBlock:^(SEFSManagedAttachment* pendingImage, NSUInteger idx, BOOL *stop) {
次のコード行:
return [self uploadFormItemAttachments:pendingAttachments
attachmentHeaders:attachmentHeaders
form:form];
次のエラーが生成されます。
Incompatible block pointer types sending 'RACSignal *(^)(NSArray *__strong)' to parameter of type 'void (^)(__strong id)'