UIViewController クラスで Objective-C カテゴリを作成しています。私のプロジェクトでは、アプリのデリゲートを取得するための 1 つの特異で簡単な方法が必要です。
これが私がやっていることです
// header file UIViewController+AppDelgate.h
#import <UIKit/UIKit.h>
@class ExampleAppDelegate;
@interface UIViewController (AppDelegate)
@property (weak, nonatomic, readonly) ExampleAppDelegate *appDelegate;
@end
// implementation file UIViewController+AppDelegate.m
#import "UIViewController+AppDelegate.h"
#import "ExampleAppDelegate.h"
@implementation UIViewController (AppDelegate)
- (ExampleAppDelegate *) appDelegate {
return (ExampleAppDelegate *)[[UIApplication sharedApplication] delegate];
}
@end
プロパティを弱いと定義する必要がありますか? 内部で参照されているビュー コントローラーを通常保持しているため、この男を保持するのは良くないと思います。