将值传递给属性的正确方法是什么?

时间:2012-07-02 22:45:22

标签: objective-c ios properties reference uiviewcontroller

我有一个非常基本的问题。在实例化后设置属性UIViewController-

header.h

IBOutlet UITextField *actionLocationFld;

@property (nonatomic, retain) IBOutlet UITextField *actionLocationFld;


main.h

@synthesize actionLocationFld;

(void)loadSocialActionView:(id)sender
{
    self.socialActionView = [[SocialActionViewController alloc] init];
    self.socialActionView.actionLocationFld.text = @"test";
    [self.view addSubview:self.socialActionView.view];
}

actionLocationFld是一个UITextfield。我尝试在实例化后设置文本值但它不起作用。它看起来很容易,但我无法弄明白。我错了什么?

有什么建议吗?

2 个答案:

答案 0 :(得分:1)

这可能是因为未初始化actionLocationFld。

尝试按此顺序调用函数:

        self.socialActionView = [[SocialActionViewController alloc] init];
        [self.view addSubview:self.socialActionView.view];
        self.socialActionView.actionLocationFld.text = @"test";

答案 1 :(得分:0)

我已经解决了这个问题,不是通过添加另一个属性并将值传递给它。似乎无法通过我尝试的方式访问UITextfield的text属性。这是新的代码行

   self.socialActionView.address = @"test";

在我的viewcontroller内部我将值传递给self.view.actionLocationFld.text