0

次のようにView Controllerを子として追加しました:

UIViewController *sendViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"send"];
[self addChildViewController:sendViewController];

sendViewController で、次のプロパティを取得しました。

@property (strong, nonatomic) IBOutlet StringInputTableViewCell *nameCell;

self.nameCell.textField.text = @"test";そのクラスでは、textField を test に設定するようなことができます

しかし、親クラスの textField に入力されたこのテキストを取得するにはどうすればよいですか?

4

3 に答える 3

0

親クラスと子クラスの間の基本的な継承により、プロパティを前方に渡すことができます。

objなどのクラスの子オブジェクトを作成する必要があります。次に、(親クラスで)使用するフィールドのテキスト値を取得します

id obj = [[ChildClassName alloc] init];
NSString *myChildsText = obj.nameCell.textField.text;  // will get the value @"test" as assigned in the childclass. 

もちろん、@property の子クラスでゲッターとセッターを作成することもできます。例えば ​​::

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

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

次に、以下のように子オブジェクトのゲッター/セッターを呼び出すことができます::

NSString *text = [obj nameCell]; //などなど

于 2013-04-04T13:58:04.263 に答える