1

代码只不过是按钮的目标操作

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

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

我的第一个失败并出现错误“ ...无法识别的选择器已发送到实例... ”,而使用标记的选择器将成功。我怀疑它是由排版引起的,但不知道具体原因。这是他们的十六进制转储

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

选择器视图ViewSubButtonClicked

Objective-C 是区分大小写的语言

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

pickerviewSubButtonClicked <-- Error
pickerViewSubButtonClicked <-- Work
于 2012-04-11T13:45:54.160 回答
0

您的操作按钮是否发送事件?在选择器名称之后包含“:”也期望发送一个对象。

于 2012-04-11T13:46:17.217 回答