分段控制和变量问题

时间:2014-02-18 20:50:59

标签: ios variables uisegmentedcontrol

我正在尝试将分段控制变量发送到另一个文件,但我无法得到它,我想我很安静,但我需要一些帮助,这有什么不对?

--<AdSettingsTVC.m>--

@interface AdSettingsTVC () <UITextFieldDelegate, UIPickerViewDelegate, UIPickerViewDataSource>

// General Settings
@property (weak, nonatomic) IBOutlet UISegmentedControl *serverControl;
@property (weak, nonatomic) NSString *server;

@implementation AdSettingsTVC

- (IBAction)getServer:(UISegmentedControl *)sender{
    ANLogDebug(@"%@ setServidor | Server changed to Settings: %ld", CLASS_NAME, (long)sender.selectedSegmentIndex);
    if (sender.selectedSegmentIndex == 0){
        self.server = @"Server 1";
    } else if (sender.selectedSegmentIndex == 1){
        self.server = @"Server 2";
    } else if (sender.selectedSegmentIndex == 2){
        self.server = @"Server 3";
    }   
}

--<Another file.m>--

- (void)requestAdWithURL:(NSURL *)URL {

    AdSettingsTVC *settings = [[AdSettingsTVC alloc] init];

        NSString *nameServer = settings.server  --> doesn't connect
        self.URL = URL ? URL : [self adURLWithBaseURLString:[NSString stringWithFormat:@"http://%@", nameServer]];

}

非常感谢

PD:请原谅我的无知,我是个乞丐

2 个答案:

答案 0 :(得分:0)

似乎server的{​​{1}}属性属于私有,因为您已在类别AdSettingsTVC的{​​{1}}文件中对其进行了定义。因此,任何其他文件都无法访问它。

尝试在.m文件中将其公开为

AdSettingsTVC()

另外,请注意.h属性

答案 1 :(得分:0)

如果您希望公开访问您的服务器变量(由其他对象访问),您必须在.h文件中声明该属性。

所以在这种情况下你应该移动

@property (weak, nonatomic) NSString *server;

进入AdSettingsTVC.h。