iOS
文章平均质量分 62
siaswj
这个作者很懒,什么都没留下…
展开
-
OC1
#import /***** 人类 书类 学生类 ****//* 1.学生是人 所以学生与人 有继承关系---继承 2.学生带着一本书 所以书是组成学生的一部分---组合 3.书有作者(人) 所以人是组成书的一部分---组合 1.类和组合都具有传递性(其实都是因为:指针) *继承是用‘:’,继承父类的成员变量以及方法 *组合是用类A在类B中定义一个指针变量原创 2014-09-19 15:02:45 · 885 阅读 · 0 评论 -
OC基础-类的本质+description+SEL
类的本质1. 类本身也是对象,是个Class类型的对象,简称类对象;而类(类对象)所创建的对象叫做实例对象,它所属的类型是创建它的那个类(注意的是:Class本身带有 * )2. 内存中每个类只加载一次(一份) Class c = [p class]; // p为Person类的一个对象 此时c是Person类的地址(返回一个类的地址,所以c也可以创建一个Person原创 2014-09-30 18:51:20 · 796 阅读 · 0 评论 -
OC基础-Xcode+点语法+变量作用域+@property/@synthesize
多文件开发1. 定义一个类分2个文件:.h声明文件和 .m实现文件。.h是成员变量/方法的声明,.m是方法的实现。如果想要使用某一个类,只需#import类的.h文件即可Xcode的一些高级功能1. 提示功能2. #pragma mark - ******** //标记功能3. 建立自己的常用代码4. 断点执行代码功能5. Xcode是边写代码边编译6.原创 2014-09-30 18:46:18 · 745 阅读 · 0 评论 -
OC基础-封装+继承+多态+self+类方法
(成员变量的)封装:set方法/get方法1. set方法:可读可修改,为了不让外界随便的修改对象的属性值,所以通常成员变量都是被保护的(没有@public),所以通过设置一个set方法来“间接”的让对象来修改对象的成员变量值2. set方法名的命名规范: 1> set方法名必须以set开头 2> set后面跟上成员变量的名称,成员变量的首字母必须大写 3> 返回值一定是原创 2014-09-30 18:42:32 · 932 阅读 · 0 评论 -
OC基础-内存管理-block类型
内存管理--block数据类型1. block的作用:block可以封装一段代码,可以在任何时候执行(在程序运行时保存一段代码,而函数不行,函数要事先编写好)2. block的标志:^3. block跟函数很像 1> 保存一段代码 2> 可以有返回值 3> 可以有形参(可以接收参数) 4> 调用方式一样4. 定义block变量void原创 2014-09-30 19:08:30 · 877 阅读 · 0 评论 -
OC基础-protocol协议
内存管理--protocol1. 作用:用来声明一大堆方法,但是不能声明成员变量2. 只要某个类遵守了这个协议,就相当于拥有了这个协议里所有的方法声明(可以在类的.m文件就可以去实现这些方法)3. 父类遵守某个协议就代表子类也遵守4. : 是继承,5. NSObject是一个基类,所有的类都遵守这个基类;同样也有一个基协议,也叫NSObject,所有的协议都要遵守这个协议;原创 2014-09-30 19:15:36 · 865 阅读 · 0 评论 -
OC基础-内存管理-循环retain+autorelease
内存管理--循环retain:循环引用(类与类之间的关系,你引用我,我引用你)1. 涉及到循环retain的问题时,在某类的.h文件中不能用import导入被引用类头文件的形式,可以用@class关键字来声明所要使用的类(被引用类),要注意的是@class只是声明(告诉编译器这是一个类),而没有导入该类的成员变量,方法的声明(就是说不知道这个类里都有什么,需要用到的时候,可以在该类的.m文件中原创 2014-09-30 19:03:31 · 886 阅读 · 0 评论 -
OC基础-id+构造方法+自定义构造方法+分类Category
id类型1. 是一个万能指针,可以指向/操作任何一个OC对象2. id类型的变量本身就是一个指针类型构造方法1. new方法的实现实际上是分为两步的,1.分配存储空间,调用+alloc方法;2.初始化,调用-init方法 1>调用+alloc方法 Person *p1 = [Person alloc]; 2>Person *p2 = [p1 init]原创 2014-09-30 18:49:46 · 824 阅读 · 0 评论 -
OC基础-内存管理-ARC+weak
内存管理--ARC(automatic reference counting)1. ARC是编译器的一个特性(编译器检测到有retain/alloc 等 这些关键字,就会自动的加入相应的release/autorelease等 )2. ARC的判断准则:只要没有强指针指向对象,就会释放对象(即使有弱指针指向对象,该对象也会被回收/销毁)3. ARC特点: 1> 不允许调用原创 2014-09-30 19:07:10 · 744 阅读 · 0 评论 -
OC基础-内存管理小结(手动)
一 计数器的基本操作1. retain : 计数器+12. release : 计数器-13. retainCount : 获得对象当前的计数器值二 set方法的内存管理1. set方法的实现- (void)setCar:(Car *)car{ if(_car != car) { [_car release];原创 2014-09-30 19:05:11 · 655 阅读 · 0 评论 -
OC基础-内存管理-引用计数器+set方法
内存管理--引用计数器1. 内存中分为五大区域,其中两个是栈和堆。栈存放局部变量,堆存放对象等动态产生的变量,当变量的作用域失效后,栈里的变量系统自动回收,堆不是。2. 每个对象内部都有自己的引用计数器:表示有多少人在用这个对象(引用器占4个字节)。对象被创建的时候计数器默认是1,当计数器减为0时,对象被回收,只要不是0就不会被回收,除非整个程序退出。3. 操作对象的计数器原创 2014-09-30 18:52:42 · 1263 阅读 · 0 评论 -
OC基础-内存管理-@property以及它的参数
内存管理--set方法-2(用新对象代替旧对象时,就好比是一个人原来有辆250码的车(旧对象),然后要换一辆3000码的车(新对象))1. 旧对象与新对象不是同一个对象时:当一个对象换了当前它所使用的对象的时候,就要让 被使用的旧对象release一次。方法是在set方法中让旧对象release(就是在换对象的时候让被换掉的旧对象release一次,被使用的新对象retain一次)2.原创 2014-09-30 18:58:16 · 759 阅读 · 0 评论 -
iOS中的MVC设计模式
我们今天谈谈cocoa程序设计中的 模型-视图-控制器(MVC)范型。我们将从两大方面来讨论MVC:什么是MVC?M、V、C之间的交流方式是什么样子的?理解了MVC的概念,对cocoa程序开发是至关重要的。一、MVC的概念MVC是Model-VIew-Controller,就是模型-视图-控制器,这些都是什么东西呢?MVC把软件系统分为三个部分:Model,View,Con转载 2015-05-19 21:37:15 · 610 阅读 · 0 评论