共享视图控制器访问模型类

时间:2010-06-24 23:02:37

标签: iphone cocoa model-view-controller uiviewcontroller

我正试图在目标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方法。

对于这种情况,最好的设计方法是什么,任何信息都会非常感激。

1 个答案:

答案 0 :(得分:-1)

您可以创建某种上下文对象。最有可能的是SingleTon或Factory(静态getter / setter)。您可以使用键“@ DVD”或@“BlueRay”的字典,其值为Disk类型。   请考虑存储在缓存字典中时这些对象将驻留在您的内存中。如果您的目标是iOS4,请考虑使用NSCache。