該模型是不是一件標配像你提到剩下的事情。當在Xcode中構建一個單一視圖應用程序時,它帶有一個viewController和一個appDelegate。正如你注意到的,該模型缺失。
那是因爲你建立你自己的模型。模型通常是您在視圖控制器中實例化的對象,然後通過其方法處理數據。該模型將是您創建的.h
和.m
文件,用於創建一個通過其方法操縱用戶輸入中的數據的對象。
因爲讓您的視圖直接與您的模型對話並不是一個好習慣,反之亦然,您的viewController
充當聯絡員。視圖(按鈕,標籤)包含viewController可以訪問的屏幕數據。一旦viewController
有權訪問這些數據,它將數據發送到模型。如前所述,模型可以是您在viewController
中實例化的對象。它會對你的應用程序進行思考並操縱viewController發送它的數據。
實例化模型的好地方是在viewDidLoad方法中。這可以確保當你的應用程序準備就緒時,你的模型也會如此。
- (void)viewDidLoad
{
[super viewDidLoad];
self.myModel = [[Model alloc] init];
}
而作爲一個實例變量的參考模型應放在你的私人類擴展你viewController
的.m
文件的頂部。
@interface ViewController()
@property (nonatomic) Model *myModel;
@end
在這個我不會一定能夠訪問我的模型的方法,因爲它只是在viewdidload方法中實例化..正確嗎?我應該將我的模型設置爲屬性,以便我可以在任何地方訪問它。或者我應該在任何需要使用它的方法中實例化它? – hamobi
絕對。你在你的viewController中創建一個屬性,然後在你的應用程序準備就緒的時候實例化它 '@property(nonatomic)Model * myModel' –
@hamobi 在你的程序中,你可以簡單地通過消息發送數據給你的模型,因爲它是一個屬性。 '[模型addNumber:self.label1.text andAnotherNumber:self.label2.text];' –