Objective--C 

一 关键字
self 相当于java中的this,但是又有不同 它即可一代替对象,也可以代替类, 也就是说它既可以用在静态方法中又可以用在动态方法中。
super 相当于父类,可以调用父类的函数
nil 相当于java中null,空指针
#pragma 注释代码用的,用它注释之后,以后你要想找到这段代码可以一下定位到该段代码,一般在一些回调方法、代理方法中常用它注释
SEL 函数指针地址
@select 获取类的方法在内存中的指针地址
@protocol 协议 相当于 java中的抽像类 二 函数
description 相当于java中ToString
respondsToSelector 判断是否实现了某方法 三 规则
1 函数的作用域
A 将方法写在.m中,为私有;写在.h为公有
B 在java 中public private 可以修饰函数 变量,但是好像OC中只能用来修饰变量,那么OC区分函数的公有与私有,就看在.h文件有没有定义 2 description
A 位置 在.m 文件中
B 返回格式为 [NString stringwithFormat:@"",...]
C 估计父类中已有该函数,我们就是复写,用于打印测试
D NSLog中的格式符是%@,当使用%@输出一个对象时,ObjC会调用个对象的description返回对应的信息进行输出,默认情况下如果我们不重写description方法,输出内容是类名和地址
E 需要强调的是千万不要在description中打印输出self,因为当输出self时会调用该对象的description方法,如此一来就会造成死循环。 3 respondsToSelector
1 实例方法\类方法
2 判断该类是否实现了某方法
3 格式 Bool buer = [类\对象 repondsToSe]ector:@select(测试方法名:); 4 protocol 协议
A 在ObjC中使用@protocol定义一组方法规范,实现此协议的类必须实现对应的方法。熟悉面向对象的童鞋都知道接口本身是对象行为描述的协议规范。也就是说在ObjC中@protocol和其他语言的接口定义是类似的,只是在ObjC中interface关键字已经用于定义类了,因此它不会再像C#、Java中使用interface定义接口了
B 一个协议可以扩展自另一个协议,例如上面AnimalDelegate就扩展自NSObject,如果需要扩展多个协议中间使用逗号分隔;
3 和其他高级语言中接口不同的是协议中定义的方法不一定是必须实现的,我们可以通过关键字进行@required和@optional进行设置,如果不设置则默认是@required(注意ObjC是弱语法,即使不实现必选方法编译运行也不会报错);
C 协议通过<>进行实现,一个类可以同时实现多个协议,中间通过逗号分隔;
D 协议的实现只能在类的声明上,不能放到类的实现上
E 协议中不能定义属性、成员变量等,只能定义方法;
     F 假如有个声明类接入了协议,而且该协议有个必选函数,它可以不在声明中复写,只需要在实现中复写就可; 4 法则
1 继承
2 封装

最新文章

  1. Codeforces 721E Road to Home
  2. Java设计模式(十二) 策略模式
  3. Android基于mAppWidget实现手绘地图(七)–根据坐标添加地图对象
  4. Bootstrap系列 -- 41. 带表单的导航条
  5. 封装Js事件代理方法
  6. 【JAVA、C++】LeetCode 007 Reverse Integer
  7. C++ 四则运算简单设计
  8. Java学习笔记之:Java 继承
  9. 使用反射让Spinner选择同一选项时触发onItemSelected事件
  10. MyEclipse Web Project导入Eclipse Dynamic Web Project,无法部署到tomcat问 题
  11. c指针点滴1
  12. python笔记之编程风格大比拼
  13. HDU 4859(Bestcoder #1 1003)海岸线(网络流之最小割)
  14. 急速搭建SuperMap iCloudManager for Docker环境
  15. CSS-默认padding 和 margin
  16. Android总结篇系列:Activity启动模式(lauchMode)
  17. 【第二篇】ASP.NET MVC快速入门之数据注解(MVC5+EF6)
  18. Angular: 执行ng lint后如何快速修改错误
  19. [转]多个ajax请求时控制执行顺序或全部执行后的操作
  20. 关于JAVA中包装类的是什么类型传递这个问题的笔记

热门文章

  1. ZOJ-2365 Strong Defence 贪心,BFS
  2. oracle中exp,imp的使用详解
  3. oracle中使用sql查询时字段为空则赋值默认
  4. JSON ,JSONArray和JSONObject
  5. 视频播放(iOS开发)
  6. jenkens构建脚本
  7. java-1-java开发环境安装及配置-绝对权威
  8. 树莓派通过 HDMI - VGA 转接后分辨率始终为640*480无法修改的问题
  9. Windows 自己主动关机命令 shuntdown
  10. vim中的一些高级命令的使用