в течение дня теперь я смотрю на следующую рутину и не могу обхватить ее. У меня есть класс, такие как:NSNumber weirdo ....?
MyClass.h
...
@interface MyClass : NSObject {
NSNumber *myNumber1;
NSNumber *myNumber2;
}
@property (nonatomic, retain) NSNumber *myNumber1;
@property (nonatomic, retain) NSNumber *myNumber2;
@end
и м-файл
#import "MyClass.h"
@synthesize myNumber1, myNumber2;
@implementation MyClass
-(id) init {
self = [super init];
NSLog(@"Retain Counts myNumber1: %d, myNumber2: %d", [myNumber1 retainCount], [myNumber2 retainCount]);
myNumber1 = [NSNumber inbitWithint:10];
myNumber2 = [NSNumber inbitWithint:2];
NSLog(@"Retain Counts myNumber1: %d, myNumber2: %d", [myNumber1 retainCount], [myNumber2 retainCount]);
return self;
}
...
Я использую этот класс в качестве глобал контейнера и его экземпляром из любого другого класса в моем приложение с использованием
MyClass * myGlobals = [[MyClass alloc] init];
=== >>> чудак >>>
Запуск подпрограммы У меня есть следующий вывод на консоль боксом,:
Retain Counts (before) - myNumber1: 0, myNumber2: 0
Retain Counts (after) - myNumber1: 1, myNumber2: 26
Как это может быть?
Из любопытства, что происходит, когда вы меняете его на 'self.myNumber # = ...' вместо этого? Это не ответ, но я заинтересован в выходе. –