上面的 SO 答案来自这里。
我的问题是:
建议的代码似乎按预期工作。但问题是 Xcode 会针对红色箭头所指的语句发出警告。警告是:
找不到实例方法“-scrollViewDidScroll”(返回类型默认为“id”)
另一个问题是“-scrollViewDidScroll”返回“void”而不是编译器假定的“id”。
希望摆脱警告并让编译器知道返回类型是“void”。
希望有人可以帮助...
上面的 SO 答案来自这里。
我的问题是:
建议的代码似乎按预期工作。但问题是 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