0

UITableViewiOS アプリ用の「人」がいます。新しい人を永続的なストアに追加するための「追加」画面を作成しましたが、これは完全に機能します。

この追加ビューは、 とサブクラス化された で作成されたフォームを使用します。これUITableViewはうまく機能しますが、iOS プログラミングに非常に慣れていないため、これが最も効率的な方法ではない可能性があると感じています。UITableViewCellUITextFieldUILabel

この追加ビューを詳細ビュー、追加ビュー、編集ビューとして再利用しようとしていますが、詳細ビューで「人」エンティティをプロパティとして正常に設定できます。viewDidLoadメソッドに次のコードがあり、前の ViewControlleraddingのメソッドでプロパティが設定されています。prepareForSegue

if (self.adding)
{
    self.editing = YES;
    self.title   = @"Add Person";
}
else
{
    self.title = self.person.name;

    [self setDetail];
}

私の問題は、詳細ビューのフィールド (私のsetDetail方法) を事前設定しようとすると、UITextField テキストに個人エンティティの name プロパティを設定できないことです。UITextField を取得し、そのtextプロパティを設定するために使用しているコードは次のとおりです。

formUITableView です。

UITableViewCell *nameCell  = [form cellForRowAtIndexPath:[NSIndexPath indexPathForItem:0 inSection:0]];
UITextField     *nameField = (UITextField *)[nameCell viewWithTag:100];
nameField.text = self.person.name;

I NSLog の場合nameCell、それが返されます(null)

それが十分な説明であることを願っています。どんなポインタでも大いに役立ちます!

4

2 に答える 2