2016-11-12 1 views
0

Ich bin neu in Reactive Kakao und ich frage mich, wenn mir jemand bei diesem Problem helfen könnte:RACSignal: Umgang mit inkompatiblen Blockzeigertypen

Hier ist der Code-Schnipsel macht mir Probleme:

[[[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]; 
    } 
]; 

Dieser Code wird von einem RACsignal Objekt in dem gleichen Verfahren, definiert als solche genannt:

RACSignal* batchSignal = [RACSignal createSignal:^RACDisposable *(id<RACSubscriber> subscriber) { 
    [pendingAttachments enumerateObjectsUsingBlock:^(SEFSManagedAttachment* pendingImage, NSUInteger idx, BOOL *stop) { 

die folgende Codezeile:

erzeugt die Fehler:

Incompatible block pointer types sending 'RACSignal *(^)(NSArray *__strong)' to parameter of type 'void (^)(__strong id)' 

Antwort

0

Der Grund für den Fehler ist, weil subscribeNext Block ungültig und kehrt durch ein Rück Platzierung wird die Inkompatibilität mit der Blocksignatur erzeugen.