ios - 从不兼容类型 'NSBlockOperation *__strong' 分配给 'void (^)(void)' getNewMessages = ^{ ^ ~~

标签 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 = ^{
                   ^ ~~

最佳答案

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

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

关于ios - 从不兼容类型 'NSBlockOperation *__strong' 分配给 'void (^)(void)' getNewMessages = ^{ ^ ~~,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29746376/

相关文章:

ios - 将 parse 中的数据保存为字符串

ios - Swift - 如何在协议(protocol)上使用 KVO 的 'observe' 方法

python - 为什么这个 try/except/else 函数返回 None ?

Java 未报告的异常错误

Python 用户定义的异常来处理特定的 OSError 代码

ios - deleteCharactersInRange:范围或索引超出范围

ios - 如何动态计算 UILabel 在被截断之前保留的字符数?

ios - 如何使用 Swift 在单个 UIViewController 中实现多个 UITableView?

c# - 将服务安装为 x64

c# - 单击 Linklabel 时出现未处理的异常 C# Winform