0

パラメータをIBActionに渡す必要があります(ただし、sender(id)-私の場合はUIButtonしかありません)。そのため、あるオブジェクトの説明をオブジェクトに変換できるかどうか疑問に思っています。現在、パラメータをボタンの[titleLabeltext]として渡しています。

    [[button titleLabel]setText:[someObject description]];

そして、IBActionで私は説明を得ています:

  - (IBAction)AddToCalendarEvent:(id)sender {
         NSString * description = [[sender titleLabel]text];
         NSLog(@"description is %@", desc);
  }

そして今、私はこの記述をオブジェクトに変換したいと思います。出来ますか?

UPD テーブルビューをセルで動的に埋めています。各セルには4つのボタンがあり、これらのボタンでIBActionに渡すパラメーターとしてオブジェクトを保持する必要があります。 各ボタンには日付を保存する必要があります

4

2 に答える 2

0

私が読んで現在あなたの問題について理解していることに基づいて、あなたにとって最善の解決策は、View Controllerのボタンの配列(または他の適切なデータ構造)を維持することだと思います。次に、各ボタンがタップされたときに呼び出すアクションメソッドで、ボタンの配列でアクションメソッドの送信者を検索できます。次に、どのボタンがタップされたかを把握したら、それを使用して、データモデルで探しているデータを見つけることができます。このソリューションを状況に適用する必要があります。おそらく少し違って見えるでしょうが、基本的な考え方は健全です。ビュー(この場合はボタン)で状態を維持することは避けてください。問題の説明から、状態に近づいているように見えます。

于 2012-04-09T12:46:36.067 に答える
-1

あなたは間違いなくこのように変換しないでしょう。

簡単なオプションはtag、各UIButtonのを一意の整数に設定し、検索する必要のあるオブジェクトの配列を格納することです。

- (IBAction)AddToCalendarEvent:(id)sender {
    NSInteger senderTag = [sender tag];
    NSLog(@"Sender index = %d", senderTag);
    // Use this tag as an index to the array.
}

より複雑なルートは、UIButtonをサブクラス化して(通常は推奨されません)、各UIButtonに関連付けられたデータを格納することです。次に、からもう一度検索できますsender

于 2012-04-09T03:17:14.947 に答える