指向'SEL'的C指针不允许使用ARC
我试图在iOS中为我的UITableView实现拉到刷新。 除了我无法正确执行刷新操作将执行的操作之外,该实现几乎完成。
[self.refreshControl addTarget:self
action:(SEL)[self performSelector:@selector(fetchPhotoListWith:Using:)
withObject:@"https://api.instagram.com/v1/users/self/feed?access_token="
withObject:@"<my Instagram ID>"]
forControlEvents:UIControlEventValueChanged];
上面的代码(在viewDidLoad
启动)给出了以下错误:
一个Objective-C指向“SEL”的指针不允许使用ARC
如果我删除(SEL)
在前面的铸件,这次我得到以下错误:
ARC不允许将Objective-C指针隐式转换为“SEL”
另有警告:
将'id'发送给参数f的类型'SEL'不兼容的指针类型
我怎样才能与ARC玩好,同时能够用两个参数调用我的方法?
这不是目标/操作的工作方式,您需要将它传递给它在文档中列出的其中一种形式的选择器。
你应该这样做:
[self.refreshControl addTarget:self action:@selector(refresh) forControlEvents:UIControlEventValueChanged];
然后使刷新方法调用您的方法来刷新该数据:
- (void)refresh {
[self fetchPhotoListWith:@"https://api.instagram.com/v1/users/self/feed?access_token="
using:@"<My Instagram API Token>"];
}
链接地址: http://www.djcxy.com/p/44919.html
上一篇: C pointer to 'SEL' is disallowed with ARC
下一篇: Can't seem to cast from NSString* to CFString* using ARC