Ios 从父类获取属性

Ios 从父类获取属性,ios,objective-c,Ios,Objective C,我添加了一个视图控制器作为子对象,如下所示: UIViewController *sendViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"send"]; [self addChildViewController:sendViewController]; 在sendViewController中,我获得了以下属性: @property (strong, nonatomic) IBOutlet

我添加了一个视图控制器作为子对象,如下所示:

UIViewController *sendViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"send"];
[self addChildViewController:sendViewController];
在sendViewController中,我获得了以下属性:

@property (strong, nonatomic) IBOutlet StringInputTableViewCell *nameCell;
在这个类中,我可以做一些类似于
self.nameCell.textField.text=@“test”的事情
将文本字段设置为测试


但是如何获取父类中文本字段中填写的文本?

父类和子类之间的基本继承应该允许您向前传递属性

您需要创建类的子对象sayobj。然后获取要使用的字段的文本值(在父类中)

当然,也可以在子类中为@property创建getter和setter。例如:

- (IBOutlet)nameCell {
 // returns the value
}

- (IBOutlet)setNameCell :(StringInputTableViewCell)newValue {
 //set the value to the @synth value here… 
}
然后,您可以调用子对象getter/setter,如下所示:


NSString*text=[obj nameCell]//etc etc

您正在混合模型和视图,从而打破MVC设计模式

您不应该尝试读取UI元素的内容。相反,您应该让控制器管理所有数据(即模型)和视图(即UI,如文本字段)


有(简单的)方法可以获得这些信息,但我强烈建议你不要走那条路

在这里您可以使用4种方法

a) 保持对您的childviewcontroller的引用->直接获取值 b) 使用委托方法(最适合观察文本字段中的更改) c) 发送NSNotification->这会带来额外的开销,在某些情况下,它会给您带来很大帮助
d) KVO

如果发送通知,是否可以通过该通知传递变量?我想管理这些的控制器是sendViewController,但我将此控制器作为子控制器添加到另一个控制器上,并且在该控制器中我需要获取文本字段信息否,您不需要。您需要一个好的模型结构来告诉您这个文本字段中的文本应该是什么。
- (IBOutlet)nameCell {
 // returns the value
}

- (IBOutlet)setNameCell :(StringInputTableViewCell)newValue {
 //set the value to the @synth value here… 
}