我是一個begginer,在最後一個問題中,我學習了一些關於MVC模式的知識。但我仍然有些疑惑。 我作爲初級工作,修改程序。在後面我會留下主要問題。如何使用MVC獲取變量
的最後一個問題是:
「我試圖分段控制變量發送到另一個文件,但我 不能得到它,我覺得我很安靜接近,但我需要一點點幫助,什麼是 錯?「
--<AdSettingsTVC.h>--
@interface AdSettingsTVC : UITableViewController
@property (strong, nonatomic) NSString *serverName;
@property (strong, nonatomic) IBOutlet UISegmentedControl *servidorControl;
-(IBAction)getServer:(UISegmentedControl *)sender;
@end
--<AdSettingsTVC.m>--
@interface AdSettingsTVC() <UITextFieldDelegate, UIPickerViewDelegate, UIPickerViewDataSource>
//General Settings
@end
@implementation AdSettingsTVC
- (IBAction)getServer:(UISegmentedControl *)sender{
ANLogDebug(@"%@ setServidor | Server changed to Settings: %ld", CLASS_NAME, (long)sender.selectedSegmentIndex);
if (sender.selectedSegmentIndex == 0){
self.serverName = @"Server 1";
} else if (sender.selectedSegmentIndex == 1){
self.serverName = @"Server 2";
} else if (sender.selectedSegmentIndex == 2){
self.serverName = @"Server 3";
}
}
--<AnAdFetcher.m>--
- (void)requestAdWithURL:(NSURL *)URL {
AdSettingsTVC *settings = [[AdSettingsTVC alloc] init];
NSString *nameServer = settings.serverName --> it's null
self.URL = URL ? URL : [self adURLWithBaseURLString:[NSString stringWithFormat:@"http://%@", nameServer]];
}
的這個問題的答案是,我沒有使用MVC模式,所以當我打電話AdSettingsTVC.alloc.init的值初始化爲零。然後我讀到我必須使用模型來聲明邏輯運算符。
現在,我意識到我有兩個模型文件,但是我不知道要在兩個文件中聲明什麼來獲取上面顯示的文件中的變量「serverName」。
我有什麼模型文件來聲明,我如何得到AnAdFetcher.m
變量非常感謝您的寶貴時間
據我可以告訴你的AdSettingsTVC沒有一個名爲'server'的屬性。所以我不知道爲什麼這不會給你一個錯誤,而不是編譯。 – Putz1103
因爲您錯誤鍵入serverName作爲服務器?你在上面發佈的代碼中。你有沒有在AnAdFetcher.m中包含AdSettingsTVC.h? – Gruntcakes
對不起,在代碼中是正確的。錯只是在這裏。 @MartinH是的,如果你的意思是#import,它包含 – user3325231