免責聲明: 我一直在學Objective C/Cocoa大約2個月左右,我答應我自己總是試着自己找到答案,而不是用啞巴堵塞互聯網noob問題。在這一點上我只是感到困惑,我想我會從提問中受益。我提前道歉。Noob需要幫助設計數據模型和控制器
問題: 我想寫一個名爲「我的夢想車庫」的主 - 細節風格的應用程序(這只是爲了練習)。基本上我想存儲汽車物體和它們的屬性。我有一個「汽車」類,看起來像這樣:
#import <Foundation/Foundation.h>
@interface Car : NSObject
@property (nonatomic, strong) NSString *brand, *model, *trimLevel;
@property (nonatomic, strong) NSNumber *modelYear, *engineSizeinL, *weight;
@property (nonatomic, strong) id image;
@end
在我的主要的.xib文件,我有一個NSTableView和一堆文字標籤,將顯示每個屬性(和圖像的imagewell)的。
我的問題是如何存儲這些數據?我明白NSArray,NSDictionary,ArrayController和DictionaryController是單獨的。我只是對如何讓他們一起工作感到困惑。當我添加一個新的「汽車」,我是否應該用它的屬性實例化一個新的「汽車」對象?那時,我是否將新對象添加到數組中,然後釋放創建的「Car」對象?我是否將tableview和文本標籤鏈接到NSDictionary控制器?我甚至不確定我現在應該問什麼。
也許我有點在我的頭上。除了Apple的文檔(對於業餘愛好者來說這非常好但過於冗長),還會推薦學習如何創建類似於此的應用程序?
任何幫助是極大的讚賞。謝謝。
謝謝f或回覆!我現在執行的所有內容都是@synthesize和屬性名稱。好吧,看來我需要在Car.m中寫一個初始化器。 雖然我有一些關於你的示例代碼的問題。你在接口中用變量聲明變量,然後綜合它們。我認爲綜合爲你做了聲明(我可能在這裏完全錯誤)。還有什麼目的「複製」服務?我以前沒見過這個。 再次感謝您! – 2012-07-30 21:28:05
另外,關於核心數據。我還沒有真正學到很多關於它的知識,因爲我想先弄清楚這些簡單的東西,但是我只是想把NSDictionary寫入.plist。這是不明智的? – 2012-07-30 21:34:06
下劃線是我傾向於用於實例變量的命名約定。然後我的屬性合成到伊娃。這只是從我早期的經驗來看待蘋果的做法。如果你正在做的是初始化一個對象,那麼在沒有下劃線的情況下使用相同的名字實際上是非常好的。就Core Data而言,我不會放棄這一點。如果你想要一個漂亮的圖書館來幫助管理和學習,請查看魔法記錄,但是CD是一個必不可少的工具,並且它並不在大多數人認爲的學習曲線附近。 – 2012-07-31 09:33:29