我在NSDate
上創建了一個類別,它將NSDate
轉換爲NSString
。它使用NSDateFormatter
來做到這一點。我發現,分配,然後重新分配格式化每一次在我的應用程序造成明顯的延遲(這個類別的使用非常頻繁),所以我更新了我的「格式化」的方法是這樣的:正確設置方法所需的靜態對象的方法
- (NSString *)pretty
{
static NSDateFormatter *formatter = nil;
if (formatter == nil)
{
formatter = [[NSDateFormatter alloc] init];
[formatter setDateStyle:NSDateFormatterLongStyle];
[formatter setTimeStyle:NSDateFormatterNoStyle];
}
return [formatter stringFromDate:self];
}
這是正確的在Cocoa中處理靜態變量的方法?這是一個泄漏(沒有dealloc
後alloc
)?做這樣的事情有更好的方法嗎?謝謝!
請注意,你應該用一個前綴命名你的方法;即'MyApp_pretty'什麼的。防止碰撞。 – bbum 2011-06-01 19:36:42