-1

メインクラスに UILabel があり、サブクラス関数でテキストを割り当てたいと思います。私の質問の詳細コードはこちらのリンクから入手できます。ここで、UITableview (私のサブクラス) のセルをクリックすると、そのテキストがメインビューの UILabel に割り当てられるようにします。私のコードは私が試したものの下にあります

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
UITableViewCell *selectedCell = [tableView cellForRowAtIndexPath:indexPath];
NSString *cellText = selectedCell.textLabel.text;
NSLog(@"MY row Text:%@",cellText);

// Now here I don't know how we can pass this text to UILabel which is in my mainclass

}

下の画像も私の問題を理解するのに役立ちます

ここに画像の説明を入力

4

2 に答える 2

1

作成時にサブビュー クラスにラベルを渡すことができます。

メイン ビュー クラスで次のように宣言します。

@property (nonatomic, strong) UILabel *mainLabel;
// or if no ARC
// @property (nonatomic, retain) UILabel *mainLabel;

次に、サブビューの .h で次のように宣言します。

@property (nonatomic, weak) UILabel *myAccessToMainLabel;
// or if no ARC
// @property (nonatomic, assign) UILabel *myAccessToMainLabel;

サブビューが作成されたら、メイン ビューのラベルをサブビューの myAccessToMainLabel に割り当てます。次に、サブビュー コードでラベルを割り当てます。Objective-c ではいつでもプロパティを渡すことができます。

編集: サブビューを作成するときは、それを作成するコードから mainLabel をサブビューの参照 iVar に割り当てます。たとえば、メインがサブビューを作成する場合:

MySubViewClass *mySubView = [[MySubViewClass alloc] initWithNib:@"MySubViewClass" ...];
// or any variety of init
mySubview.myAccessToMainLabel = mainLabel;
于 2012-11-10T15:24:40.213 に答える
1

ラベルの参照をサブクラスに渡します。次に、サブクラスはラベルのテキストを簡単に設定できます。

テーブル ビュー コントローラーにプロパティ UILabel *mainLabel を追加します。次に、このプロパティをメイン クラスからのラベル参照に設定します。

于 2012-11-10T15:20:52.247 に答える