我刚刚开始自学Objective-C和iphone / ipad开发。凭借我之前在Java / Android编码方面的独特经验,我对这种新语言遇到了一些问题。
我正在尝试在此应用中使用UISegmentedControl
来决定在按下“成员”按钮时将显示哪个视图。我是通过在按下“成员”按钮时抓取名为“UISegmentedControl
”的memberPicker
中的当前所选文本来执行此操作,然后检查它是@"Current"
还是{{1决定显示什么视图。
此功能似乎工作正常,但是,当我单击UISegmentedControl中的“Alumni”按钮时,应用程序崩溃时出现以下错误:
@"Alumni"
我相信我的问题是正确地声明或设置我的UISegmentedControl,我知道它可以采用数组等。但我只需要在选择当前或校友之间交替,然后我的“成员”按钮将完成剩下的工作。有关如何解决此问题的任何想法?
以下是我的.m视图中的代码
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[MainPageViewController MemberSegmentedControl:]: unrecognized selector sent to instance 0x7557250'
答案 0 :(得分:2)
您可能已将Interface Builder中的UISegmentedControl
与IBOutlet
MemberSegmentedControl
连接到@interface
,后来您在班级的UISegmentedControl
中删除了该memberPicker
。如果除{{1}}之外没有其他连接,请检查Interface Builder中{{1}}的连接。
希望它有所帮助!
答案 1 :(得分:1)
您获得的错误意味着您正在调用.m文件中不存在的IBAction /函数 MemberSegmentedControl:。也许您以前创建了此函数并将其与UISegmentedControl的 Value Changed 相关联,但您没有编写其实现(在.m文件中)。也许你已经删除了这个,但连接仍然存在。要检查这一点,请按照以下步骤操作。
- 打开界面生成器。
- 点击 UISegmentedControl 。
- 打开 Connections Inspector (单击“查看”菜单,单击“实用工具”,然后单击“显示连接检查器”。或者,您可以按 Command + Options + 6 强>)
- 在已发送事件下,检查是否有任何事件(特别是 值已更改 )连接到“文件所有者的MemberSegmentedControl :“即可。如果是,请单击x按钮将其删除,然后重试。
醇>
如果您的问题无法解决,请执行以下操作
- 分享Interface Builder文件(XIB文件)的屏幕截图
- 共享头文件(.h文件)
醇>