将值从 ViewController 传递到 Objective-C 中的 NSObject
Passing value from ViewController to NSObject in Objective-C
我需要在使用 Xcode 和 Objective c 加载视图后立即将值从 ViewController 传递给 NSObject。
我正在使用下面的代码,但值为空。
-(void)viewDidAppear:(BOOL)animated
{
MyHomeModelNSObject *nsOb;
nsOb = [[MyHomeModelNSObject alloc] init];
nsOb.myString = self.userName.text;
}
以上代码在使用 segue 时在视图之间工作,但在将值传递给 NSObject 时不起作用。
谢谢
The above code is working between Views when using segue, but it does not work with when passing the value to NSObject.
您使用的不是真实物体。您正在声明一个指向对象的指针,但从未分配对象本身:
MyHomeModelNSObject *nsOb;
nsOb.myString = self.userName.text;
看到了吗?你错过了你做的事:
nsOb = [[MyHomeModelNSObject alloc] init];
此外,即使您添加了它,该对象也会在 viewDidAppear
退出后立即被释放,因为它是一个局部变量。如果你想让它转手,你需要 1) 创建它,然后 2) 将它分配给你的视图控制器或另一个对象的某些 属性。
我需要在使用 Xcode 和 Objective c 加载视图后立即将值从 ViewController 传递给 NSObject。
我正在使用下面的代码,但值为空。
-(void)viewDidAppear:(BOOL)animated
{
MyHomeModelNSObject *nsOb;
nsOb = [[MyHomeModelNSObject alloc] init];
nsOb.myString = self.userName.text;
}
以上代码在使用 segue 时在视图之间工作,但在将值传递给 NSObject 时不起作用。
谢谢
The above code is working between Views when using segue, but it does not work with when passing the value to NSObject.
您使用的不是真实物体。您正在声明一个指向对象的指针,但从未分配对象本身:
MyHomeModelNSObject *nsOb;
nsOb.myString = self.userName.text;
看到了吗?你错过了你做的事:
nsOb = [[MyHomeModelNSObject alloc] init];
此外,即使您添加了它,该对象也会在 viewDidAppear
退出后立即被释放,因为它是一个局部变量。如果你想让它转手,你需要 1) 创建它,然后 2) 将它分配给你的视图控制器或另一个对象的某些 属性。