在iOS开发中告别未定义selector
来源:互联网 发布:三国杀爆料软件 编辑:程序博客网 时间:2024/04/30 15:09
objc和C++同为由C语言衍生出的OOP语言,但他们实现OOP的方式并不相同:在C++中,对象与方法在编译器绑定;而在objc中,称“方法”一词为“消息”,在程序运行时向对象发送消息,即运行期绑定。
两种方式各有优劣,C++注重性能,objc注重灵活。
然而运行期绑定给开发带来问题——编程时拼写错了方法名,编译器并不报错。笔者曾debug一小时,最后发现是方法名少写了个冒号。
为此笔者曾用过一个笨办法——断言某对象响应某方法,以此来排除错误可能。
这当然太过麻烦,其实有个简单的方法,可以上编译器报warning:
以Xcode 4为例,打开一个项目,在左侧导航栏中双击项目文件:
在弹出窗口中将GCC waring项undeclared selector设为yes:
- 在iOS开发中告别未定义selector
- 在iOS开发中告别未定义selector
- iOS开发中@selector的理解与应用
- iOS开发中@selector的理解与应用
- iOS开发必备,告别众多无聊代码
- ios中SEL ( @selector() )简析
- iOS Dev (68) 如何让编译器对未定义的@selector告警?
- 在NSDictionary中存放Selector
- 如何在比赛中告别遗憾?
- console.log在IE8中未定义
- 【iOS开发】SEL和Selector 原理小结
- iOS开发中, '-[__NSCFConstantString size]: unrecognized selector sent to instance 0x10abccc00'
- iOS开发中, -[__NSCFConstantString size]: unrecognized selector sent to instance 0x104ff2c00
- RestKit:iOS开发必备,告别众多无聊代码
- C++中头文件在源文件中总显示未定义
- 告别开发,走进市场!我在Intel最后的回忆
- 在JSF中使用jquery id selector
- 在android studio中创建selector xml
- S3C6410的SPI控制器
- windows上搭建erlang的intellij idea开发环境
- arm gcc交叉编译工具链建立
- lr 动态sessionId处理引发的问题
- 回忆大学,随笔
- 在iOS开发中告别未定义selector
- Microsoft Windows CE 显示设备的驱动程序和硬件
- excel中如何比较一列在另一列中出现的次数
- [百度分享]网络编程常见问题总结 1
- 锋利的jquery之快速定位
- c, c++, Beep, 喇叭 声音处理
- git 命令小记
- 【软件技巧】关于mindmanager 2012安装后报C++错误的解决方法
- 分布式系统领域经典论文翻译集