Короткая и приятная версия моего последнего вопроса в свете новой информации.
У меня есть UIVIew с init и методом drawrect (и другим потоком и кучей других вещей, но я буду коротким и приятным).
Все переменные класса, которые я выделяю и инициализирую в методе инициализации - (id), находятся вне области действия / nil / 0x0 в методе drawRect, и я не могу получить к ним доступ.
Например;
В интерфейсе:
NSObject* fred;
В реализации:
-(id)init
{
if(self == [super init])
{
fred = [[NSObject alloc] init];
}
return self;
}
-(void)drawRect:(CGRect)rect
{
NSLog(@"Fred is retained %i times",[fred retainCount]); //FAIL
NSLog(@"But his variable is actually just pointing at uninitialised 0x0, so you're not reading this in the debugger because the application has crashed before it got here."
}
Следует добавить, что init IS вызывается также перед drawRect. У кого-нибудь есть идеи?