【发布时间】:2014-03-21 17:06:25
【问题描述】:
我是一个初学者,在我的最后一个问题中,我了解了一点 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 时,值被初始化为 nil。然后我读到我必须使用模型来声明逻辑运算符。
现在,我意识到我有两个模型文件,和
我必须在模型文件中声明什么以及如何从 AnAdFetcher.m 中获取变量
非常感谢您的宝贵时间
【问题讨论】:
-
据我所知,您的 AdSettingsTVC 没有名为
server的属性。所以我不确定为什么这不会给你一个错误并且根本没有编译。 -
因为您将 serverName 错误地输入为 server?您在上面发布的代码中有。你有在 AnAdFetcher.m 中#included AdSettingsTVC.h 吗?
-
对不起,在代码中是对的。错字只在这里。 @MartinH 是的,如果你的意思是#import,它包含在里面
标签: ios variables model-view-controller model