2010-07-12 209 views
0

在我的Objective-C項目中,我有一個Country類(NSManagedObject子類)。將一個國家與另一個國家進行比較對我來說了解世界總人口的重要性。我正在做這個操作很多,它變得越來越昂貴。我決定把人口放在一個國家的靜態變量中。不過,我想在創建國家實例之前初始化此值。Objective-C類構造函數

很顯然C#有一些叫做Class Constructors的東西,它會在你初始化一個相同類的實例之前被調用。這對我來說是設定世界人口變數的最佳時機。但是我無法想出一個與Objective-C類似的方法。有沒有辦法做到這一點?

我也接受其他方法。謝謝,羅布

+0

對不起,我只是注意到這個問題在這裏:http://stackoverflow.com/questions/1083160/static-initializer-in-objective-c-upon-class-loading沒有意識到其他它的名字是'靜態初始化器'。要快速閱讀並且可能會刪除它(儘管它可以幫助其他人猜測) – rob5408 2010-07-12 21:49:11

回答

3

你可能尋找+initialize

運行時只發送類,或者從它繼承任何類之前初始化每個類的節目只有一個的時候,被送到其來自程序內的第一條消息。 (因此,如果不使用類,則永遠不會調用該方法。)運行時以線程安全的方式將初始化消息發送給類。超類在它們的子類之前收到此消息。

+0

謝謝,剛剛發現了帶有此建議的問題的鏈接。當你知道要尋找什麼時,你會發現驚人的東西! – rob5408 2010-07-12 21:53:40