我有一個變量lastPostsGrabbedCounter
,NSNumber
,下面定義。NSNumber不被保留?
.h
NSNumber *lastPostsGrabbedCounter;
@property (nonatomic, retain) NSNumber *lastPostsGrabbedCounter;
.m
@synthesize postDetailViewController, lastPostsGrabbedCounter;
- (void)viewWillAppear:(BOOL)animated {
self.lastKnownLocation = [[CLLocation alloc] init];
self.lastPostsGrabbedCounter = [[NSNumber alloc] initWithInt:25];
[self showActivityViewer];
}
這個.m文件是我主視圖中的表格控制器。當這個應用程序被加載時,這個viewWillAppear
被調用,但是如果我導航到另一個TAB並返回並嘗試使用lastPostsGrabbedCounter
var,那麼它將顯示爲零?
當我離開時,爲什麼不保留它?
你可以顯示全班的來源嗎?另外,你使用[[NSNumber alloc] initWithInt:25]泄漏了這個數字。你的財產已經保留了這個號碼,所以你應該使用[NSNumber numberWithInt:25]來代替,它是自動發放的並且從財產中獲得一個單獨的保留。 – 2011-04-03 17:26:51
你怎麼知道它不被保留?如果你使用'-retainCount'來檢查,答案就是緩存小的NSNumber,以避免在沒有必要時創建新的對象。你可以在這個其他問題閱讀關於它的一些東西:http://stackoverflow.com/questions/656902/nsnumber-retain-count-issue – 2011-04-03 20:39:00