繁体   English   中英

Objective-C扩展语法

[英]Objective-C extension syntax

在此处输入图片说明

上面的答案就是从这里开始的

我的问题是:

建议的代码似乎按预期方式工作。 但是问题是Xcode针对红色箭头所指向的语句发出警告。 警告是:

找不到实例方法“ -scrollViewDidScroll”(返回类型默认为“ id”)

另一个问题是“ -scrollViewDidScroll”返回“ void”,而不是编译器假定的“ id”。

希望摆脱警告,并让编译器知道返回类型为“ void”。

希望有人可以帮助...

self.delegate应该声明为id<UIScrollViewDelegate>实例。

确保委托的类型具有公共方法-scrollViewDidScroll。

显式强制转换可能可以为您解决此问题。

我遇到了类似的情况,我在以编程方式设置的回调中调用选择器。 由于编译器(正确地)假定它无法在编译时判断选择器是否对该对象有效,因此它会生成警告。 我使用以下代码模式来抑制警告,这也应在您的情况下起作用。

//Suppress compiler warnings
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Warc-performSelector-leaks"

//Perform method that generates warning
[self.delegate scrollViewDidScroll: scrollView];

//Stop suppressing compiler warnings
#pragma clang diagnostic pop

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM