Ios

RootViewControllerがエラーを受け取ります:認識されないセレクターがインスタンスに送信されました



Rootviewcontroller Gets An Error



プロジェクトには交換用のタブバーがあります写真i詐欺の必要性は習慣にありますUITabBarControllerlchangeIconメソッドはクラスで定義されています。

[UIApplicationRotationFollowingController chanageICONImage:]:認識されないセレクターがインスタンスに送信されたというエラーが報告されることがありました。



プロジェクトで使用される方法:



UIWindow *window = [UIApplication sharedApplication].keyWindow RootTabBarViewController *tabbarVC = (RootTabBarViewController *)window.rootViewController

それを分析した後、それはかもしれませんビューのルートコントローラーを取得できないため、メソッドを変更しました。

AppDelegate *appdelegate = (AppDelegate *)[UIApplication sharedApplication].delegate RootTabBarViewController *tabbarVC = (RootTabBarViewController *) appdelegate.window.rootViewController

テスト後、問題は再発せず、両方の方法を取得できますrootViewControllerですが、2番目の方が安定しており、ウィンドウビューの操作に関連するポップアップがプロジェクトにあるため、ルートビューコントローラーの取得には影響しません。さらに、セキュリティを強化するために、取得したコントローラーのタイプを判別するメソッドを追加することをお勧めします。

if ([[appdelegate.window.rootViewController class] isKindOfClass:[RootTabBarViewController class]]) { ....}