1

このコードは、ボタンのターゲット アクションにすぎません。

[subButton addTarget:self
              action:@selector(pickerviewSubButtonClicked:) 
    forControlEvents:UIControlEventTouchUpInside];

//[subButton addTarget:self action:@selector(pickerViewSubButtonClicked:) forControlEvents:UIControlEventTouchUpInside];

最初のものは「 ...認識されないセレクターがインスタンスに送信されました...」というエラーで失敗しましたが、マークされたものを使用している間、成功します。植字によるものとは思えませんが、正確な理由はわかりません。これはそれらの16 進ダンプです。

00000000: 5b73 7562 4275 7474 6f6e 2061 6464 5461  [subButton addTa
00000010: 7267 6574 3a73 656c 660a 0920 2020 6163  rget:self..   ac
00000020: 7469 6f6e 3a40 7365 6c65 6374 6f72 2870  tion:@selector(p
00000030: 6963 6b65 7276 6965 7753 7562 4275 7474  ickerviewSubButt
00000040: 6f6e 436c 6963 6b65 643a 2920 0a09 2020  onClicked:) ..  
00000050: 2066 6f72 436f 6e74 726f 6c45 7665 6e74   forControlEvent
00000060: 733a 5549 436f 6e74 726f 6c45 7665 6e74  s:UIControlEvent
00000070: 546f 7563 6855 7049 6e73 6964 655d 3b0a  TouchUpInside];.
00000080: 2f2f 5b73 7562 4275 7474 6f6e 2061 6464  //[subButton add
00000090: 5461 7267 6574 3a73 656c 6620 6163 7469  Target:self acti
000000a0: 6f6e 3a40 7365 6c65 6374 6f72 2870 6963  on:@selector(pic
000000b0: 6b65 7256 6965 7753 7562 4275 7474 6f6e  kerViewSubButton
000000c0: 436c 6963 6b65 643a 2920 666f 7243 6f6e  Clicked:) forCon
000000d0: 7472 6f6c 4576 656e 7473 3a55 4943 6f6e  trolEvents:UICon
000000e0: 7472 6f6c 4576 656e 7454 6f75 6368 5570  trolEventTouchUp
000000f0: 496e 7369 6465 5d3b 0a                   Inside];.

何か案は?

4

3 に答える 3

2

vVのタイプミスがあります。

ピッカービューiewSubButtonClicked

Objective-C は大文字と小文字を区別する言語です

于 2012-04-11T13:46:21.587 に答える
0

アクション ボタンはイベントを送信しますか? セレクター名の後に「:」を含めると、オブジェクトも送信されることが期待されます。

于 2012-04-11T13:46:17.217 に答える
0
[subButton addTarget:self
              action:@selector(pickerviewSubButtonClicked:) 
    forControlEvents:UIControlEventTouchUpInside];

pickerviewSubButtonClicked <-- Error
pickerViewSubButtonClicked <-- Work
于 2012-04-11T13:45:54.160 に答える