【发布时间】:2012-03-08 09:42:47
【问题描述】:
我有一个通用应用程序,每个设备(iPad、iPhone)都有不同的属性集,如下所示:
//iPhone
@property (nonatomic, strong) CategoriesViewController *categoriesViewController;
//iPad
@property (nonatomic, strong) UIPopoverController *categoriesPopoverController;
但我不想浪费内存为每个设备合成属性。就像在我的情况下,当用户使用 iPhone 打开应用程序时,应该只创建 iPhone 特定的@properties。也适用于在 iPad 上运行的应用程序。
在编译时是否有任何指令可以推迟这个,比如:
#if UI_USER_INTERFACE_IDIOM() = iPhone
//create iPhone properties
#elseif UI_USER_INTERFACE_IDIOM() = iPad
//create iPad properties
有没有办法做到这一点,或者有更好的方法来处理这个问题?
谢谢!
【问题讨论】:
标签: iphone ios properties runtime ios-universal-app