1、#import与#include的区别,它们都是为了引入头文件,而不同的事#import确定一个文件只能被倒入一次,这是程序在递归包含中不会出现问题。
2、Object-C的控制台输出NSLog()与C语言printf()的输出相比:
(1)NSLog会在打印结束自动换行
(2)NSLog还可以输出对象%@
(3)NSLog的格式如下表
%@ | 对象 | %g | 浮点/双字 |
%d,%i | 整数 | %s | c字符串 |
%u,%z | 无符整形 | %.*s | Pascal字符串 |
%f | 浮点/双字 | %c | 字符 |
%x,%X | 十六进制整数 | %C | unichar |
%o | 八进制整数 | %lld | 64位长整数(long long ) |
%zu | size_t | %llu | 无符64位长整数 |
%p | 指针 | %Lf | 64位双字 |
%e | 浮点/双字(科学计算) | %hhd | BOOL布尔型 |
3、类的定义:NSObject是所有类的父类
#import <foundation/Foundation.h> @interface Person : NSObject{ NSString *name; } //实例方法 //没有参数 没有返回值 +(void) doSomething; //一个参数 -(void)setName:(NSString *)aName; //两个参数 -(void)setName:(NSString *)aName andAge:(NSInteger)aAge; //类方法 -(void)print; @end
4、属性申明@property:@property(nonatomic,strong) NSString *name;
详解@property http://www.cnblogs.com/andyque/archive/2011/08/03/2125728.html
5、关键字/限定符
nonatomic:不采用加锁解锁机制,运行效率比atomic高
atomic: 原则操作,又加锁解锁机制,运行效率低,安全
内存管理角度
retain 修饰OC对象类型 讲对象的引用计数+1
copy 修饰OC对象类型 重新分配一片内存空间
strong 同retain
weak
assign 修饰c语言的基本数据类型int char long float double NSInteger
readonly 只读(只提供了getter方法)
readwrite 默认
setter 重新设置setter的方法名
getter 重新设置getter的方法名
时间: 2024-11-19 02:35:27