0

スクリプトにエラーがありますが、機能しません。しかし、私はそれを変更する方法がわかりません。2つのビューを使用していますが、if / elseを使用して、最初のビューから2番目のビューのfavoriteColorLabelのテキストを変更したいと思います。誰かが問題を知っているなら、私を助けてください。私のコード:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {

   if(indexPath.row==1) {
        DetailVC.favoriteColorLabel=@"Bonjour"; 

    DetailViewController *dvController = [[DetailViewController alloc] initWithNibName:@"DetailViewController" bundle:[NSBundle mainBundle]];
    dvController.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
    [self presentModalViewController:dvController animated:YES];      

}
}

ありがとう。

4

3 に答える 3

2

エラーはこの行にあると思います:

DetailVC.favoriteColorLabel=@"Bonjour";

textラベルの属性を実際に次のように設定する可能性が最も高いです。

DetailVC.favoriteColorLabel.text=@"Bonjour";

これは、text属性が画面上のラベルによって表示されるテキストであるためです。実際の UILabel オブジェクトを NSString リテラルに設定していましたが、これはおそらくやりたいことではありません。

于 2012-09-24T19:35:36.230 に答える
0

最初の悪い設計でエラーが発生しやすいメソッドから、2 番目のビューにラベルを設定することを検討します。

私がすることは、あなたの詳細ビューコントローラーを与えることpropertyですNSString *. 最初のコントローラーから詳細ビュー コントローラーを作成した後、テキスト@"Bonjour"をそのプロパティに渡し (セッター メソッドを使用して)、詳細ビュー コントローラーを提示できます。この 2 番目のビュー コントローラーは、その文字列の値を確認し、それに応じてラベルを設定できます。

詳細View Controllerは独自のビューを管理するためにあります。最初にView Controllerを使用して画面上のものを管理する必要はありません。

于 2012-09-24T19:41:28.023 に答える
0

テキストをラベルに設定しているため、コードでエラーが発生しています。

次のようにする必要があります。

labelname.text = @"String";

その後、問題は解決します。

それがうまくいくことを願っています。

于 2012-09-24T19:38:27.913 に答える