Objective C 的一些零碎知识
来源:互联网 发布:单片机常用c语言 编辑:程序博客网 时间:2024/04/30 15:12
1.self 是一个指针 该指针指向当前类的对象
super 只是一个编译器符号 ,不是指针 ,表示当前对象调用父类的方法.
super的功能就是让当前对象地址去调用父类中方法
2.成员变量的作用域 :类内的减方法可以调用
类方法不能使用成员变量,因为类方法和具体的对象无关, 但减方法和对象有关,必须要有一个对象指针指向一个合法对象。
3.description 方法
NSLog(@"dog:%@",dog);
这个时候打印对象 会给dog 指针指向的对象发送一个 description ,也就是说 会自动调用 [dog description]
如果没有实现description,那么就打印对象指针。
4.nonatomic非原子操作 (不考虑线程安全)
atomic 原子操作,考虑线程安全,会加锁。
5.readwrite:读写是指代的是生成setter和getter方法
readonly:只会生成getter方法不会生成setter方法
assgin :直接赋值
6.三种访问控制(作用域)
@private//私有的:在类内-开头的方法中可以直接使用,类外的函数不能直接使用但是可以通过类中的方法间接使用;子类不能直接使用父类私有的成员变量但是可以间接使用
@protected//(默认)受保护的:在类内-开头的方法中可以直接使用,类外的函数不能直接使用但是可以通过类中的方法;子类可以直接使用父类受保护的成员变量
@public//共有的:类内-方法 和类外都可以直接使用
7.OC没有私有方法 OC的所有方法都是公有的:如何实现类似的私有方法:那么就是在头文件不声明,通过在类的实现部分写一个匿名类别,在匿名类别中进行声明,这样的话类外面就看不到类中的方法相当于私有,但不是真正的私有。
8.
#include 包含头文件(包含的头文件必须加 条件编译)
#import 导入头文件(不需要 加条件编译) 只导入一次
9.动态就是运行时 runTime(oc的方法只有在运行时才检查对象指针指向的对象所属的类中这个方法有没有实现实现了那么就调用,没有实现去父类找,依次类推,最终找不到崩溃)
10.黄金法则
当我们使用alloc、retain、new 、copy mutableCopy 开头的方法 把对象地址赋给一个新的指针变量 当这个新的指针变量 用完之后可以使用release 或 autorelease
11.set方法
- (void)setRoom:(chatRoom*)room{
if(room != _room){
[_room release];
_room = [room retain];
}
12.把oc的字符串转化为SEL类型
SEL actionSel =NSSelectorFromString(action);
- Objective C 的一些零碎知识
- 零碎的Objective-C知识 (二)
- 零碎的Objective-C知识 (一)
- 零碎的Objective-C知识 (三)
- [C language]一些零碎知识的解释
- 关于C语言的一些零碎知识
- C语言的一些零碎知识
- C/C++一些零碎的知识
- 一些零碎的知识
- c/c++ 的零碎知识
- 查找错误的几个调试方法&一些C/C++的文章&一些零碎知识
- js的一些零碎知识积累
- 黑马程序员--关于一些零碎的知识
- 黑马程序员-- 一些零碎的知识
- struts2中一些零碎的边角知识
- struts2中一些零碎的小知识
- 线程的一些零碎知识总结
- 关于git的一些零碎知识
- 关于uboot.map 文件的作用
- ios视频播放代码
- ACM历程
- 架构的演化及模式
- JAVA学习第二十九课(常用对象API)- String类
- Objective C 的一些零碎知识
- easyui取消表单实时验证,提交时统一验证
- POJ 3076 Sudoku DLX精确覆盖
- php 静态延迟绑定
- 关于Qt中文显示问题
- unix下的I/O——阻塞,非阻塞,同步,异步
- 前路漫漫,风雨亦行
- UVa 340 - Master-Mind Hints
- Dicom文件解析