我正试图在目标C应用程序中接近MVC方法进行编程。
我有一个模型类和两个视图控制器。
@interface Disc : NSObject {
NSString *discType;
NSNumber *capacity; }
@property (nonatomic,retain) NSString *discType;
@property (nonatomic,retain) NSNumber*capacity;
@implementation Disc
@synthesize discType,capacity;
然后是View Controller A
@interface DiscTypeViewController : SecondLevelViewController {
NSString *discTypeSub;
}
@property (nonatomic,retain) NSString *discTypeSub;
@end
@implementation DiscTypeViewController
@synthesize discTypeSub;
现在,我知道我可以从View controller A
访问模型(光盘)类的成员Disc *disc1 = [[Disc alloc]init];
[disc1 setDiscType:@"DVD"];
discTypeSub = [disc1 discType];
这将返回值“DVD”,这很好。
问题是,我的第二视图控制器如何访问返回的相同String “DVD”。初始化Disc的新实例毫无意义。我需要那些值 从View Controller A创建,调用Disc类的setter / getter方法。
对于这种情况,最好的设计方法是什么,任何信息都会非常感激。
答案 0 :(得分:-1)
您可以创建某种上下文对象。最有可能的是SingleTon或Factory(静态getter / setter)。您可以使用键“@ DVD”或@“BlueRay”的字典,其值为Disk类型。 请考虑存储在缓存字典中时这些对象将驻留在您的内存中。如果您的目标是iOS4,请考虑使用NSCache。