簡體   English   中英

使應用程序代表執行操作?

[英]Make the App Delegate perform an action?

我的AppDelegate_Phone類具有-(void)doSomething 如何在View Controller viewController調用它?

我試過了:

[[[UIApplication sharedApplication] delegate] doSomething];

沒運氣。

doSomething not found in protocol

編輯。 該操作正在執行,但是警告仍在XCode中保留。 警告是什么意思?

編譯器正在告訴您到底出了什么問題(如果由於嵌套表達式而難以理解)。 -delegate返回一個對象,該對象響應UIApplicationDelegate協議,您的方法不屬於該協議的一部分。

解決此問題的最直接方法是使用類型轉換:

[(AppDelegate_Phone *)[[UIApplication sharedApplication] delegate] doSomething];

您必須將委托轉換為自定義委托類,然后調用doSomething。 代碼示例如下:

MyAppDelegate *myAppDelegate = (MyAppDelegate *)[[UIApplication sharedApplication] delegate];
[myAppDelegate doSomething];

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM