我想更好地理解一些內存管理概念。爲了做到這一點,我需要看看NSDateFormatter:stringFromDate
方法的實現。開發人員文檔指的是NSDateFormatter.h
,其中聲明瞭該方法。遵循邏輯推理,我在理論對應部分NSDateFormatter.m
中查找實現,但我無法在Finder中找到該實現。在哪裏可以找到更多關於基礎方法的信息
我在哪裏可以看到該方法的實現?
我想更好地理解一些內存管理概念。爲了做到這一點,我需要看看NSDateFormatter:stringFromDate
方法的實現。開發人員文檔指的是NSDateFormatter.h
,其中聲明瞭該方法。遵循邏輯推理,我在理論對應部分NSDateFormatter.m
中查找實現,但我無法在Finder中找到該實現。在哪裏可以找到更多關於基礎方法的信息
我在哪裏可以看到該方法的實現?
你不能。 Foundation和UIKit框架不是開源的。頭文件在那裏,以便您可以針對Cocoa庫進行構建,但實現有意不透明。
這就是說,一些碳的東西在Mac端根本基礎是開源的,所以如果你去挖掘,你可能會得到一些東西是如何工作的,例如一些想法 http://www.opensource.apple.com/source/CF/CF-550.29/CFDateFormatter.c 但是,如果你只是想了解一些內存管理概念,這不太可能幫助你。在這種情況下,你最好只是在SO上提問這些關於你感興趣的類的問題。
正如quixoto所說,你所尋找的框架是閉源的。但the GNUstep open-source project旨在重新實現可可,他們有an implementation of NSDateFormatter,你可以看到。如果你正在閱讀大量的內部框架源代碼,那麼這是一個開始的地方。
瞭解。所以問題是:我怎麼知道便利方法'NSDateFormatter:stringFromDate'是否用'autorelease'分配它創建的對象? – ryback 2011-03-06 03:25:10
如果您不調用'alloc','new','copy'或'retain',那麼您不負責釋放它。這是可可的基本規則。有關詳細信息,請參見[內存管理編程指南](http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/MemoryMgmt/MemoryMgmt.html)。 – Jim 2011-03-06 13:30:54