[英]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.