Как передать переменную между двумя классами в Какао? - PullRequest
0 голосов
/ 24 апреля 2011

Я новичок в Какао и Objective-C. В настоящее время я работаю над программой, которая будет генерировать сетку в CustomView. Для этого у меня есть окно управления (со всеми ползунками / опциями) и окно предварительного просмотра (которое рисует сетку). Эти два окна прикреплены к разным классам: окно управления для класса GridPaperController и окно предварительного просмотра для класса GridView.

Допустим, я изменил ползунок в моем окне управления. Метка рядом с ней изменяется вместе со своим значением (которое хранится как переменная в классе GridPaperController). Как я могу отправить это значение в класс GridView?

Спасибо за помощь.

Ответы [ 2 ]

2 голосов
/ 24 апреля 2011

Существует несколько способов передачи информации между несвязанными классами. Вы можете создать делегата между вашим контроллером и двумя другими контроллерами представления. Этот метод очень хорош, потому что он очень сплоченный и уменьшает связь между вашими классами.

Второй способ - отправить уведомлений , чтобы можно было отправлять сообщения для классов, ожидающих события / информацию. Это, опять же, шаблон, который уменьшает связь между несвязанными классами.

0 голосов
/ 24 апреля 2011

Вы можете добавить сеттеров в свой класс:

@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]; 
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...