从不兼容类型'void(^)(void)'getNewMessages = ^ {^ ~~分配'NSBlockOperation * __ strong'

时间:2015-04-20 11:17:08

标签: ios exception

__block HAAppDelegate *appDelegate = self;
getNewMessages = ^{
    if ([FBSession.activeSession isOpen]) {
        HANetworkRequest *request = [[HANetworkRequest alloc] initWithDelegate:appDelegate];
        [request doRequest:@"getNotifications"];
    }
};


assigning to 'NSBlockOperation *__strong' from incompatible type 'void (^)(void)'
    getNewMessages = ^{
                   ^ ~~

1 个答案:

答案 0 :(得分:1)

根据编译错误getNewMessages是一个NSBlockOperation对象,而不是ObjectiveC的块。所以你应该按照以下方式使用它:

getNewMessages = [NSBlockOperation blockOperationWithBlock:^{
    if ([FBSession.activeSession isOpen]) {
        HANetworkRequest *request = [[HANetworkRequest alloc] initWithDelegate:appDelegate];
        [request doRequest:@"getNotifications"];
    }];