无法获取按钮来呼叫控制器代码iPhone 4

问题描述:

我的View在我的XIB中有一个按钮myButton。在XIB文件的所有者是类HelloWorldViewController。文件所有者的视图是我在XIB中的View无法获取按钮来呼叫控制器代码iPhone 4

HelloWorldViewController(它驻留在MainWindow.XIB中)我有- (IBAction) doMyButton:(id)sender,我在HelloWorldViewController.h文件中有相应的定义。

对于我的视图我有事件(再次在XIB中)Touch Up Inside - >文件的所有者doMyButton。
对于文件的所有者我已收到操作doMyButton - >圆角矩形按钮触及内部。

我在'doMyButton'方法内的第一行代码有一个调试点。当我触摸按钮(在模拟器中使用我的鼠标)时,我不会碰到我的中断点。

WTF? IB的

屏幕捕获,如果有帮助:
Overview
Properties Of Button

+0

没有任何人的样本代码或项目可以帮助您。还*非常*具体的问题 - 没有任何人会发现有用(到本地)。 – jkp 2011-05-13 16:37:43

+1

@jkp:这不是一个值得关注的问题。这种问题实际上在iPhone开发中非常常见,这是Xcode和Interface Builder之间缺乏集成的令人惊讶的结果。由于这是Xcode/IB问题,因此无法为此发布任何代码。 – MusiGenesis 2011-05-13 16:43:07

+0

@MusiGenesis:我不同意它不可能发布任何代码 - 敲一个显示项目的示例项目,将其发布到Dropbox并链接到它。一半时间制作一个示例项目,您将解决问题。否则,这里没有足够的细节。 – jkp 2011-05-13 16:48:05

感谢同事,我发现问题所在。我使用该按钮的视图是在我的HelloWorldViewController.xib中,因为它应该是。但是,我已经将该视图放入Main.xib中作为我设置的NavController的主视图。我正在编辑HelloWorldViewController.xib中的视图,当我在Main.xib中编辑(读取:建立连接)时,NavController中的视图被复制。

我认为NavController只是简单地指向我原来的视图定义的其他XIB,而不是运行它的副本。一种混乱的新视角。

如果每一件事情是好的,那么你不设置断点,即您使用CMD + R使用CMD + y或运行代码CMD +输入。 cmd + r将运行而不考虑你的断点。

+1

在Xcode 4下,Cmd-R的“运行”通常是可调试的,除非你不想自己做出来。 – 2011-05-13 17:18:22

+0

我想要开始调试的线上有蓝色指针。我点击Xcode顶部的“Build and Debug”。我使用Xcode 3.2.6。我想我已经通过这种方式进行调试了。 – Justin 2011-05-13 17:34:13

+0

buil的左侧有一个按钮,Debug是否被按下?如果没有,然后按它...再一件事情把nslog在那里,并检查控制是否到达那里... – 2011-05-13 17:36:09

是否有任何IBOutlet项目的功能?

如果他们不这样做(因为你改名为你的XIB文件),请确保File's Owner已在界面生成器设置正确的自定义类。否则,它可能会调用错误的类,这可能是你的突破点不能触发的原因。

注意:这不太可能,因为这样的问题应该会导致构建问题,但我已经看到了陌生的事情发生。

+0

HelloWorldViewController.xib拥有类HelloWorldViewController的文件所有者。哪个是我的方法是按钮的地方。我不相信我有任何其他'IBOutlet'的东西在那里。作为一个新手,你偷看我的好奇心是否应该有更多的IBOutlet? (更多牛铃?)。 – Justin 2011-05-13 18:05:12

+0

虽然我一直是更多cowbell的粉丝,但你只需要一个'IBOutlet'来为每个希望你的代码与之交互的XIB项目。如果你有一个永远不会改变的'UILabel',它不需要'IBOutlet'。如果你想让你的代码根据某个值更改'UILabel'文本,那么你需要一个'IBOutlet'。 – dredful 2011-05-13 18:45:52