刘小汶

路漫漫其修远兮,吾将上下而求索。

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2016年4月8日

摘要: 打印当前的行号:NSLog(@“%d”,_LINE_); 打印当前文件所处的文件路径:printf(@“%s\n”,_FILE_); 打印指针变量地址:NSLog(@“%p”,&p); 打印对象地址:NSLog(@“%p”,p); 输出当前函数名:NSLog(@“%s\n”,_func_); 阅读全文
posted @ 2016-04-08 23:57 williamliuwen 阅读(172) 评论(0) 推荐(0) 编辑

摘要: 网友解答: 阅读全文
posted @ 2016-04-08 23:55 williamliuwen 阅读(233) 评论(0) 推荐(0) 编辑

摘要: 类本质的东西 类的加载过程; 阅读全文
posted @ 2016-04-08 23:45 williamliuwen 阅读(392) 评论(0) 推荐(0) 编辑

摘要: 网友解答: *类别(category)和继承的区别? *类别:类别是对一个功能完备的类的一种补充,就像是一个东西的主要基本功能都完成了,可以用类别为这个类添加不同的组件,使得这个类能够适应不同情况的需求。比如animal这个类,具有eat和run等方法,想给这个类添加一个bark的方法,可以用类别。 阅读全文
posted @ 2016-04-08 22:05 williamliuwen 阅读(674) 评论(0) 推荐(0) 编辑

摘要: 使用场景; 分类:可以给某一个类扩充一些方法(不修改原来类的代码) //声明@interface 类名(分类名称) @end;一个类可以有很多个分类; //实现@implementation 类名(分类名称) @end; 分类的作用,在不改变原来类内容的基础上,可以为类增加一些方法; 使用注意: 分 阅读全文
posted @ 2016-04-08 22:04 williamliuwen 阅读(168) 评论(0) 推荐(0) 编辑

摘要: 自定义构造方法 调用: 两个定义在一起 执行点语法就是执行set或者get方法; 阅读全文
posted @ 2016-04-08 21:54 williamliuwen 阅读(526) 评论(0) 推荐(0) 编辑

摘要: self 为什么要赋值为[super init],当程序进入到init这个方法的时候,系统已经生成了对象并分配了存储空间,在调用[super init]是为了初始化父类对象,在父类对象初始化过程序中有可能失败(如网络资源调用失败)或者返回其它对象(这个取决于你的父类了),这个时候的self其实也可以 阅读全文
posted @ 2016-04-08 21:32 williamliuwen 阅读(143) 评论(0) 推荐(0) 编辑

摘要: 为什么要重写init方法,重写有什么好处和作用:一般用来什么事情: 1.可以用来创建对象,这个是最基本的;配合alloc使用; 2.init什么时候会被执行,当对象被创建的时候; 3.好处和作用: 网友解答:可以在你实例化的时候提供更多参数以便实现对对象的快速赋值。重写init可以让你创建的对象出来 阅读全文
posted @ 2016-04-08 21:29 williamliuwen 阅读(729) 评论(0) 推荐(0) 编辑

摘要: @property @property @synthesize 这两个的作用是代替set和get方法; @property int age;代替下面两句 - (void)setAge:(int)age; - (int)age; 作用: 自动生成某个成员变量的setter和getter声明; @pro 阅读全文
posted @ 2016-04-08 20:21 williamliuwen 阅读(276) 评论(0) 推荐(0) 编辑

摘要: id类型 id已经是关键字,以后定义变量要注意; id是万能指针;能指向、操作任何OC对象,没有*,因为它已经包含了*; Person *p = [Person new];可以用下面的来代替,只适用于OC对象; id d = [Person new]; id 你可以认为是NSObject * 因为N 阅读全文
posted @ 2016-04-08 20:21 williamliuwen 阅读(331) 评论(0) 推荐(0) 编辑

摘要: 有四种; 公共作用域意味着在任何地方都可以访问成员变量; 私有作用域只能在当前类的对象方法中直接访问;如person.m;子类如果需要访问,需要通过set和get方法; 保护作用域能在当前类和子类的对象方法中直接访问; 父类的私有变量,在子类中不能直接访问,但是有私有变量的存在,需要通过set和ge 阅读全文
posted @ 2016-04-08 20:17 williamliuwen 阅读(272) 评论(0) 推荐(0) 编辑

摘要: 点语法与set和get方法有关; 学习一个语法替代set和get方法; Person *p = [Person new]; p.age = 10;p访问setAge方法; 如果是点语法,而且是设值,就是set方法; 点语法的本质 点语法的本质是方法的调用; JAVA中的点语法是访问成员变量; ste 阅读全文
posted @ 2016-04-08 20:15 williamliuwen 阅读(142) 评论(0) 推荐(0) 编辑

摘要: @“456454512213545”也是一个对象; NSString是继承NSObject的;OC的字符串用%@作为占位符; NSString *str = @"itcast";NSLog(@"我在%@上课",str); NSString的类方法:NS[NSString stringWithForm 阅读全文
posted @ 2016-04-08 20:14 williamliuwen 阅读(103) 评论(0) 推荐(0) 编辑

摘要: 对象具备多种形态就是多态; 没有继承就没有多态; 父类指针指向子类对象;Animal *a = [Dog new]; [a eat]; 调用方法是会检测对象的真是形象; NSObject *n = [Dog new]; NSObject *n = [Animal new]; OC是弱语法;runti 阅读全文
posted @ 2016-04-08 20:13 williamliuwen 阅读(204) 评论(0) 推荐(0) 编辑

摘要: super跟继承相关; 阅读全文
posted @ 2016-04-08 20:11 williamliuwen 阅读(200) 评论(0) 推荐(0) 编辑

摘要: 继承是在类与类之间的; 做一个普遍类让别人来继承;冒号后面可以继承; 继承了别人,就相当于拥有了别人里面的所有成员变量和方法; 一个父类可以有多个子类; 继承的好处:可以抽取重复代码;建立了类之间的关系; 类方法new是在NSObject这个父类里面的; NSProxy不是继承NSObject的; 阅读全文
posted @ 2016-04-08 18:12 williamliuwen 阅读(158) 评论(0) 推荐(0) 编辑

摘要: self是一个指针,self指向的是调用当前方法的对象; 如果不理解,可以理解为当前对象; self可以访问当前对象的成员变量; self的第二个使用情况; - (void)bark { NSLog(@"汪汪汪"); } - (void)run { [self bark]; NSLog(@"跑跑跑" 阅读全文
posted @ 2016-04-08 18:05 williamliuwen 阅读(205) 评论(0) 推荐(0) 编辑

摘要: 类方法是以+开头的 Person *p = [Person new];这个是类方法; [p test];//这个是对象方法 类方法的调用需要创建对象;类方法只能用类来调用;对象方法只能通过对象来调用; + (void) test; - (void) test; 上面两个可以同时存在,因为一个是类方法,一个是对象方法; 细节:方法只有两种:类方法;对象方法; 对象方法:减号 - 开头;只能有对象来... 阅读全文
posted @ 2016-04-08 18:03 williamliuwen 阅读(162) 评论(0) 推荐(0) 编辑

摘要: 如果调用一个对象没有声明的方法;编译可以通过;链接也可以通过;但是不能运行; 如果你声明了一个方法,没有实现,编译和链接都可以通过;但是不能运行; OC中调用方法的时候是在运行过程中才会检测对象有没有实现相应的方法; 如果你实现了一个方法,没有定义,编译和链接都可以通过,运行也可以成功; 在程序运行 阅读全文
posted @ 2016-04-08 18:02 williamliuwen 阅读(197) 评论(0) 推荐(0) 编辑

摘要: 封装 封装 阅读全文
posted @ 2016-04-08 17:58 williamliuwen 阅读(655) 评论(0) 推荐(0) 编辑