要創建一個空字典,我應該撥打[NSMutableDictionary dictionary]
還是[[NSMutableDictionary alloc] init]
?要創建一個空字典,[NSMutableDictionary字典]或[[NSMutableDictionary alloc] init]?
有什麼區別?
要創建一個空字典,我應該撥打[NSMutableDictionary dictionary]
還是[[NSMutableDictionary alloc] init]
?要創建一個空字典,[NSMutableDictionary字典]或[[NSMutableDictionary alloc] init]?
有什麼區別?
[NSMutableDictionary dictionary]
相同[[[NSMutableDictionary alloc] init] autorelease]
不同的是,如果你使用NSMutableDictionary* myDictionary = [[NSMutableDictionary alloc] init]
你將不得不再打[myDictionary release]
當你用它做。否則你會泄漏內存。如果使用其他方法,則不必擔心內存管理。
您仍然需要擔心使用自動發佈實例的內存管理。考慮例如在緊密的循環中創建許多數組而不會消耗相應的自動釋放池。 – 2010-11-11 09:08:25
爲了完整起見,一些年後,我們還有其他更短的方式來ALLOC詞典:
NSMutableDictionary* dictionary = @{}.mutableCopy;
感謝。對於iPhone編程,我認爲[[NSMutableDictionary alloc] init]是首選。 – 2010-11-11 08:54:45
@Stephen:???你爲什麼這麼想?當然,在許多情況下,在完成它們之後,你可能會更好地釋放事物,但是也可以在緊密循環中的每n個週期之後關閉一個自動釋放池以管理內存使用情況。然而,正如你所說的那樣,你的評論過於寬泛而不真實。 – 2010-11-11 15:39:22