簡體   English   中英

一種方法如何分辨哪個視圖 controller 調用了它

[英]How can a method tell which view controller called it

我想以我自己的方法獲取當前視圖 controller。 我的意思是我有兩個調用相同方法的視圖控制器。 我想區分 controller class 正在調用該方法的哪個視圖。

請幫幫我

如果是基於導航的應用程序,您可以通過以下方式獲取當前視圖 controller,

UIViewController *currentVC = self.navigationController.visibleViewController;

假設myCommonMethod:是從兩個視圖 controller 調用的常見NSObject ,您可以檢查您的viewController是否是isMemberOfClass:方法的成員

-(void) myCommonMethod:(UIViewController*) aViewController
{
      if([aViewController isMemberOfClass:NSClassFromString(@"MyFirstController")])
      {
      }
      else if([aViewController isMemberOfClass:NSClassFromString(@"MySecondController")])
      {  

      }
}

如果您的兩個視圖控制器都調用相同的 function 那么您可以在該方法中將self作為參數傳遞,您可以將 function 編寫為 -

-(void) functionName:(UIViewController*) viewController

暫無
暫無

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

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