簡體   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