在Objective-C中将值从ViewController传递给NSObject

时间:2016-01-22 22:58:27

标签: objective-c nsobject

我需要在使用带有Objective c的Xcode加载视图时将值从ViewController传递到NSObject。

我正在使用下面的代码,但值为null。

-(void)viewDidAppear:(BOOL)animated
{
     MyHomeModelNSObject *nsOb;
     nsOb = [[MyHomeModelNSObject alloc] init];
     nsOb.myString = self.userName.text;
}

上面的代码在使用segue时在Views之间工作,但在将值传递给NSObject时它不起作用。

由于

1 个答案:

答案 0 :(得分:2)

  

上面的代码在使用segue时在Views之间工作,但在将值传递给NSObject时它不起作用。

你没有使用真实物体。您正在声明指向对象的指针,但从不分配对象本身:

MyHomeModelNSObject *nsOb;
nsOb.myString = self.userName.text;

请参阅?你错过了这一点:

nsOb = [[MyHomeModelNSObject alloc] init];

更重要的是,即使您添加了该对象,只要viewDidAppear退出,对象就会被解除分配,因为它是一个局部变量。如果你想要它,你需要1)创建它,然后2)将它分配给你的视图控制器或另一个对象的某些属性。