我在UIViewController類上創建了一個Objective-C類別。在我的項目中,我想要一種簡單易用的方式來獲取應用程序代理。Objective-C類別返回AppDelegate屬性
下面是我在做什麼
// 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
我應該定義屬性弱?我認爲保留這個人是不好的,因爲它通常保留在引用的視圖控制器中。
在不使用ARC的情況下,我仍然可以使用弱。或者這不是真的嗎? – developerdoug
因爲你沒有定義一個實際的實例變量,我只是聲明在運行時會存在一個「getter」,所以我不確定他們在沒有ARC的情況下是否有問題。 –