我是Cocoa和Objective-C的新手。我目前正在开发一个程序,它将在CustomView中生成一个网格。为此,我有一个控制窗口(包含所有滑块/选项)和一个预览窗口(绘制网格)。这两个窗口附加到不同的类:GridPaperController类的控制窗口和GridView类的预览窗口。
假设我更改了控制窗口上的滑块。它旁边的标签随其值(在GridPaperController类中存储为变量)而更改。如何将此值发送到GridView类?
感谢您的帮助。
答案 0 :(得分:2)
在不相关的类之间传递信息有几种模式。您可以在控制器和其他两个视图控制器之间create a delegate。这种方法非常好,因为它具有高度的内聚性,并且减少了类之间的耦合。
第二种方法是发布notifications,以便可以为等待事件/信息的类发送消息。这又是一种减少不相关类之间耦合的模式。
答案 1 :(得分:0)
您可以将setter添加到您的班级:
@interface Photo : NSObject
{
NSString* caption;
NSString* photographer;
}
- (void) setCaption: (NSString*)input;
- (void) setPhotographer: (NSString*)input;
@end
方法实施:
- (void) setCaption: (NSString*)input
{
[caption autorelease];
caption = [input retain];
}
- (void) setPhotographer: (NSString*)input
{
[photographer autorelease];
photographer = [input retain];
}