0

MasterViewController.h で文字列をプロパティとして宣言しました

    @property (nonatomic , readwrite) NSString *theString;

ここに私の prepareForSegue メソッドがあります

     - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
      if ([[segue identifier] isEqualToString:@"showDetail"]) {

    NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow];
    NSString *string = [feeds[indexPath.row] objectForKey: @"link"];
   [[segue destinationViewController] setTheString:string];

  //UITextField *dest = [segue destinationViewController];
  //dest.theString = string;
}

}

DetailViewController.hi は textView のアウトレットを作成しました

    @interface APPDetailViewController : UIViewController
    @property (weak, nonatomic) IBOutlet UITextView *textView;

さて、 MasterViewController の「theString」を DetailViewController の textField に表示できるように、実装で何をコーディングしますか?

4

2 に答える 2

1

DetailViewController.h

@property (nonatomic , strong) NSString *myString; //Do this

MasterViewController.m

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
    if ([[segue identifier] isEqualToString:@"showDetail"]) {

        NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow];
        NSString *string = [feeds[indexPath.row] objectForKey: @"link"];

        //Do this
        APPDetailViewController *myController = (APPDetailViewController*)segue.destinationViewController;
        myController.myString = string;
    }
}

この方法を試してください。

于 2013-07-27T06:14:29.350 に答える
1

theString1 -内部にプロパティがあるはずDetailViewControllerです。(オプション、以下の手順 3 を参照)

2 - 上記のコードをコンパイルして実行するには、 にキャストdestinationViewControllerする必要もありますDetailViewController

このような:

DetailViewController * destVC = (DetailViewController *) [segue destinationViewController];

3 -

destVC.theString = string;

theString必要に応じて、 insideなしでDetailViewController、次のようにすることもできます。

destVC.textView.text = string;
于 2013-07-27T06:15:22.670 に答える