1

I have a front-view and a flip-view much like the utility weather-app.

To avoid dealing with the complexities of protocols... on my flipView I need to call some code that resides back on my front-view. This works... but generates a warning during compile.

[self.parentViewController returningFromGetStringView];

Warnings (shows twice):

'UIViewController' may not respond to '-returningFromGetStringView'
'UIViewController' may not respond to '-returningFromGetStringView'

The method definitely exists... and executes fine... but why the warning???

4

2 に答える 2

6

コンパイラは、受信者がメッセージを処理することを確認できないことを通知します (returningFromGetStringView)。id にキャストするか、parentViewController の型にキャストすることでハッシュできます。

[(id)self.parentViewController returningFromGetStringView]; 

また

[(YourClassThatIsParent*)self.parentViewController returningFromGetStringView];
于 2010-10-20T19:33:06.707 に答える
2

プロパティparentViewControllerは であると宣言されていますUIViewController。したがって、コンパイラが知る限り、returningFromGetStringViewメッセージをに送信しようとしていますUIViewControllerUIViewControllerは を実装していないため、returningFromGetStringViewコンパイラは警告を出します。

警告を消すには、 をカスタム クラスにキャストして、どのサブクラスが参照されてUIViewControllerいるかをコンパイラに知らせます。UIViewControllerparentViewController

[(MyViewController *)self.parentViewController returningFromGetStringView];
于 2010-10-20T19:34:18.093 に答える