√ 概述 KVC/KVO是观察者模式的一种实现,在Cocoa中是以被万物之源NSObject类实现的NSKeyValueCoding/NSKeyValueObserving 非正式协议的形式被定义为基础框架的一部分。从协议的角度来说,KVC/KVO本质上是定义了一套让我们去遵守和实现的方法,KVC/ ...
分类:
移动开发 时间:
2016-04-23 14:43:46
阅读次数:
233
UIView继承于UIResponder CALayer继承于nsobject 创建UIView创建一个layer,通过UIView的layer属性可依访问它的图层。UIView具有事件处理功能,可以与用户交互,layer负责显示和动画任务。 要显示一个UIView,会自动调用起drawRect方法 ...
分类:
其他好文 时间:
2016-04-23 00:00:39
阅读次数:
431
1. Object-C有多继承吗?没有的话用什么代替? cocoa 中所有的类都是NSObject 的子类 多继承在这里是用protocol 委托代理 来实现的 你不用去考虑繁琐的多继承 ,虚基类的概念. ood的多态特性 在 obj-c 中通过委托来实现. 2. Object-C有私有方法吗?私有 ...
分类:
其他好文 时间:
2016-04-22 13:13:17
阅读次数:
240
setter和getter方法整体声明和实现虽然后面可以用@property代替,但是在后面的iOS开发中,setter方法或getter方法单独使用的频率比较高,应用比较广泛! @Interface Person:NSObject { NSString *_name; int _age; Sex ...
分类:
其他好文 时间:
2016-04-22 08:19:47
阅读次数:
242
NSObject协议中有两个用于判断等同性的关键方法: NSObject类对这两个方法的默认实现是:当且仅当其“指针值”(pointer value)完全相等时,这两个对象才相等。如果“isEqual:”方法判定两个对象相等,那么其hash方法也必须返回同一个值。但是,如果两个对象的hash方法返回 ...
分类:
其他好文 时间:
2016-04-18 23:54:55
阅读次数:
332
OC开发中会遇到根据字符串和字体大小来算计算出字符串所占的宽高->> 封装方法如下: #import <Foundation/Foundation.h> #import <UIKit/UIKit.h> @interface XSDKResourceUtil : NSObject //获取字符串宽 + ...
分类:
移动开发 时间:
2016-04-18 15:19:25
阅读次数:
230
OC内存管理 一、基本原理 (一)为什么要进行内存管理。 由于移动设备的内存极其有限,所以每个APP所占的内存也是有限制的,当app所占用的内存较多时,系统就会发出内存警告,这时需要回收一些不需要再继续使用的内存空间,比如回收一些不再使用的对象和变量等。 管理范围:任何继承NSObject的对象,对 ...
分类:
其他好文 时间:
2016-04-16 21:31:48
阅读次数:
349
@interface people : NSObject -(void)eat; +(void)eat; @end @implementation people -(void)eat { NSLog(@"我是被类的实例调用-方法"); } +(void)eat { NSLog(@"我是被类调用的+方 ...
分类:
其他好文 时间:
2016-04-16 12:20:31
阅读次数:
147
重载hash与isEqual:方法 前言 NSObject 自带了hash与isEqual:方法,服务于具有hash表结构的数据结构。NSObject自带的hash函数相当于hash表中的f(key)函数中的key,这“唯一”的key需要用户自己产生,至于用什么算法由用户自己决定。 准备 测试 1. ...
分类:
其他好文 时间:
2016-04-16 10:47:31
阅读次数:
181
NSObject的hash方法 说明 本示例仅仅演示一个对象什么时候执行hash方法。 细节 1. 必要的Model类,重载了hash方法用以反映Hash方法是否被调用了 2. 测试 3. 测试 isEqual: 方法执行的时候是否会执行 hash 方法,打印情况里面是没有的 4. 用 NSMuta ...
分类:
其他好文 时间:
2016-04-15 23:04:05
阅读次数:
297