2012-12-12 102 views
4

tutorial我工作的基本的iOS線定義了以下方法。代碼說明

- (void)addBirdSightingWithSighting:(BirdSighting *)sighting { 
    [self.masterBirdSightingList addObject:sighting]; 
} 

本教程介紹此如下:

該方法創建和發送到initWithName:location:date:方法的名稱和位置的用戶輸入,用今天的日期進行初始化一個新的BirdSighting對象。然後,該方法將新的BirdSighting對象添加到該陣列。

有一個initWithName:location:date:方法是BirdSighting類,這是我的數據模型。上述方法被添加到它簡單地被添加BirdSighting對象到masterBirdSightingList可變數組中的數據控制器。

我不明白的是,本教程說BirdSighting對象發送到initWithName:location:date:方法時,我沒有看到這個做?

  • 這是因爲*中的(BirdSighting *)方法參數?我知道*是一個指向對象的指針,但它是否會創建一個新對象並調用其默認的init方法?只是因爲我加入了initWithName:location:dateBirdSighting類,它自動成爲我的默認init方法?
+0

您可以鏈接到該教程? – paulmelnikow

+0

http://developer.apple.com/library/ios/#documentation/iPhone/Conceptual/SecondiOSAppTutorial/DesigningDataModel/DesigningDataModel.html#//apple_ref/doc/uid/TP40011318-CH3-SW2向下滾動至底部,並點擊'實施數據控制器的數據訪問方法' –

+0

顯然只是文本中的一個錯誤。這只是將一個BirdSighting對象(在別處創建)添加到'masterBirdSightingList'。 – Rob

回答

2

沒有魔法存在。你是對的。該行代碼不會創建或初始化BirdSighting對象。

補充:

你已經發現,也許早於很多,無論是蘋果的代碼或文檔是完美的。有時甚至有嚴重的問題。當你遇到不和諧時,最好相信你的直覺並做一些自己的測試。

+1

檢出鏈接;在教程中肯定看起來像一個錯誤。蘋果文檔底部有一個鏈接,您可以在其中報告這類問題。 – paulmelnikow

+0

感謝noa的幫助,我被困在那句話上一分鐘。我已經向Apple報告了這個問題。 –