您的位置:首页 > 移动开发 > IOS开发

ios之随笔学习日志(一)

2012-11-25 15:17 288 查看
static ,类体内的全局变量声明,声明在所有方法之外,该文件中的 任何方法都可以直接访问,其他文件不能访问

private,只能在本类中使用,默认为projected 可以在本类和子类中使用,public在项目的 任何地方都能使用

ios只能单继承,通过协议的方式实现多继承特点

id声明的类型为动态类型,动态绑定:程序只有在运行时才能确定对象调用的实际方法

多态特性:父类的声明指向子类,重写父类方法,父类的声明变量指向子类对象

-( BOOL)isKindOfClass:( Class)aClass; // 对象是否为aclass或其子类成员

-( BOOL)isMemberOfClass:( Class)aClass; //对象是否为aclass成员

-( BOOL)isSubclassOfClass:( Class)aClass; //对象是否为aclass的子类

-( BOOL)respondsToSelector:( SEL)aSelector ; //对象是否响应指定的方法

ios 中nslog输出格式:

%@ 对象

%d, %i 整数

%u 无符整形

%f 浮点/双字

%x, %X 二进制整数

%o 八进制整数

%zu size_t

%p 指针

%e 浮点/双字 (科学计算)

%g 浮点/双字

%s C 字符串

%.*s Pascal字符串

%c 字符

%C unichar

%lld 64位长整数(long long)

%llu 无符64位长整数

%Lf 64位双字

实例变量还只是声明内存为空,alloc之后才分配内存创建对象,init后才能使用;

同一个类的每个对象有不同的实例变量的存储空间;

同一个类的每个对象指向不同的内存;

同一个类的不同对象放在栈区,一个对象的不同实力变量放在堆区

局部变量放在栈内存里面,全局变量和初始化数据放在堆里面;

在init方法中,需调用super init方法初始化父类在赋值给本类,为了防止父类在初始化过程中返回的对象不同于原先创建的对象

一个变量都是有两块内存,一个堆内存,一个栈内存,一般都是一个栈内存指向一块堆内存

形参也是局部变量;形参调用后消失内存快

如果两个类互相引用,那么则需要在另外一个类的interface里面 @class,可避免编译错误;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: