2012-01-22 5 views
0

私は最初の画面でテーブルビューを持っています。追加ボタンをクリックします。nそこに詳細(姓、名、年齢)を追加して保存します。その保存されたnは親画面に私を取得します。私はアクセサリーインジケータをクリックします。同じビューに移動したいです。nそれらのテキストフィールドに選択した行の詳細が表示されます。イムオブジェクトを渡すセグエのn個を使用して、オブジェクトが渡されたが、私はテキストフィールドでそれを参照してくださいいけないですが、私は以下のコードを示す空のtextfields.thanksで画面を取得する:あなたがfetchresultscontrollerなしでcoredataを使用してテーブルビューをドリルダウンする方法

-(void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender 
    { 

    if([segue.identifier isEqualToString:@"AddNew"]) 


    { 
      addNewController = segue.destinationViewController; 

      addNewController.delegate = self; 

} 
else if ([segue.identifier isEqualToString:@"ShowRow"]) 
{ 
    NSIndexPath *pathChosen = self.tableView.indexPathForSelectedRow; 


    personObject = [self.personArray objectAtIndex:pathChosen.row]; 
    NSLog(@"the row selected is %@",personObject); 


    self.addNewController = segue.destinationViewController; 
    self.addNewController.personObject = self.personObject; 
    self.addNewController.personObject = self.personObject; 

    self.personObject.firstName = addNewController.firstNametxt.text; 
    NSLog(@"the row selected is %@",addNewController.firstNametxt.text); 
    //its giving me a null value here for addnewcontroller.firstNametxt.text. 




} 

}

答えて

1

をすべきですあなたのコードを本当にきれいにする。重複した行がすぐ下にあります。あなたは狂っていなくてもうまくコードを作成したい場合は、より正確で集中力のある作業が必要です。

あなたの割り当てステートメントは、他の方法で行う必要があります。あなたが自分を捕まえることができると確信している些細な間違い。ところで

addNewController.firstNametxt.text = self.personObject.firstName; 

、これは多分あなたの addNewControllerはまだそのテキストフィールドを作成していないので、それは動作しない場合。コントローラのテキストフィールドの塗りつぶしを自分で行うほうが、メソッド viewDidLoadに最適です。プロパティとして定義した personObjectを利用できます。