jak używać delegatów z automatycznym zliczaniem referencji
Wskoczyłem na łuk. W przeszłości chciałbym mieć moje właściwości delegata zadeklarowane w ten sposób:
@property(assign) id<MyProtocol> delegate;
Więc pomyślałem, że zrobię to pod ARC:
@property(weak) id<MyProtocol> delegate;
Nie tak. Na oświadczeniu @ synthesize w .m mam błąd kompilacji :
* Problem semantyczny: istniejący ivar 'delegat' dla _ _ słabej własności 'delegat' musi być _ _ słaby*
Uznałem ją za słabą! Również jak przekazać klasę implementującą protokół do słabo odwołanej właściwości. Czy muszę owijać to w jeden z tych dziwnych telefonów obj_unreted?
Każda pomoc w tej sprawie byłaby bardzo mile widziana. 45
1 answers
"ivar" oznacza "zmienną instancji", której nie pokazałeś. Założę się, że wygląda to mniej więcej tak:
@interface Foo : NSObject {
id delegate;
}
@property (weak) id delegate;
Błąd mówi, że musi wyglądać tak:
@interface Foo : NSObject {
__weak id delegate;
}
@property (weak) id delegate;
Jeśli nieruchomość twierdzi, że jest słaba, ivar, w którym przechowywana jest wartość, musi być również słaby.
65
Author: tc.,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-06-30 02:01:05
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-06-30 02:01:05