博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《Objective-c》-(OC的弱语法)
阅读量:6038 次
发布时间:2019-06-20

本文共 607 字,大约阅读时间需要 2 分钟。

 

OC弱语法

  •  OC在运行过程中才会检测对象有没有实现相应的方法(动态监测),而即使没有写方法的实现代码,在编译、连接过程中只会有警告,运行时会奔溃,如果在手机上运行这样的代码,运行过程中就造成闪退!

  • 1.如果对象调用了一个既没有声明又没有实现的方法test,编译能通过(有警告:warning: 'Person' may not respond to 'test'),但是还是能连接成功,但是运行时会出现下面的经典错误;

    经典错误:不能识别消息发送给对象(运行时会监测方法有没有实现),会使程序运行时自动崩溃(闪退)

    -[Person test]: unrecognized selector sent to instance 0x7f9738403420

  • 2.如果对象调用的方法只有声明没有实现,编译能通过(有警告:warning: method definition for 'test' not found [-Wincomplete-implementation]),但是能连接成功,运行时还是会导致程序崩溃

  • 3.如果对象调用的方法只有实现,没有声明,编译能通过,能连接成功,也能顺利运行,但是不采用这样的写法

  • 4.只有类的声明没有类的实现也可以顺利运行,但是不采用这样的写法

 

代码练习:

运行结果:

 
 
 

转载于:https://www.cnblogs.com/unique-ios/p/4324477.html

你可能感兴趣的文章
logback 和 log4j对比,及相关配置
查看>>
关于TFS地址改变后,项目迁移的问题。
查看>>
用pycharm写appium脚本的时候,导入一个模块有时候会报错
查看>>
Session
查看>>
设计黄金法则永不改变
查看>>
Android Ap 开发 设计模式第四篇:工厂方法模式
查看>>
虚拟机基本管理
查看>>
Xcode 编译选项
查看>>
通用链表首先要做到能够存放任何数据类型的数据
查看>>
一位华为底层老员工的中年危机,发人深思!
查看>>
学习日志---linux lvm逻辑卷管理
查看>>
Cocos2d-x 3.x物理引擎概述(1)
查看>>
Formik官方应用案例解析(一)Basics
查看>>
2014网络流行语
查看>>
戴尔服务部首席创新官:创新至零
查看>>
通过Html实现在线运行,复制,保存代码的功能
查看>>
XENAPP单一服务器全功能解决方案-XENAPP服务器
查看>>
活动目录系列之十:活动目录数据库的维护
查看>>
Powershell 之监控文件系统变化
查看>>
新御剑1.5注入版(11.29)
查看>>