OC循环渐进
xiaozhu54321
这个作者很懒,什么都没留下…
展开
-
OC循环渐进:代理设计模式
在设计模式中,代理设计模式作为经常用到的一种开发模式,所以掌握代理设计对于每一个程序员来说尤其重要。 那么什么是代理设计模式呢,直白点来说,就是你拜托别人去帮你办一件事情,这就是一个代理模式,那个帮助你的人就是你的代理者。 如何设计一个代理模式呢?主要分为以下3步: 1.注册代理者 2.代理者实现协议 3.调用代理方法 以下是一个代理设计的实际案例:班长代替公司罚款 1.建立一个教师原创 2015-08-08 16:24:14 · 351 阅读 · 0 评论 -
OC循环渐进:文件管理--计算文件大小的五种方式
在文件管理中,计算文件的大小是要经常用到的操作!其核心就是利用NSData中的length方法来计算字节长度。以下介绍文件中计算大小的五种常见方式: 创建文件的代码如下: NSString *documentPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES原创 2015-08-12 18:50:31 · 1022 阅读 · 0 评论 -
OC循环渐进:文件管理常用操作
介绍以下文件的常规用法: 以下为一个代码示例: ViewController.m的代码文件如下:#import "ViewController.h"@interface ViewController ()@end@implementation ViewController- (void)viewDidLoad { [super viewDidLoad]; /原创 2015-08-12 19:18:08 · 509 阅读 · 0 评论 -
OC循环渐进:KVC的补充--数组过滤
在数组中使用KVC能达到过滤的效果。 以下为一个实例: Book.h 的代码文件如下:#import <Foundation/Foundation.h>@class Book;@interface Student : NSObject@property (nonatomic,strong) NSArray *books;@endBook.m 的代码文件如下:#import "Book.h"@i原创 2015-08-10 19:24:11 · 478 阅读 · 0 评论 -
OC循环渐进:协议
OC中的协议就相当于Java中的接口,那个类实现了这个协议就必须实现协议里面的方法。 以下为一个实例: Student.h 的代码文件如下:#import <Foundation/Foundation.h>@protocol StudentProtocol <NSObject>//必须实现的方法,不写时默认@required - (void)sayHi;//可选择的方法@optional原创 2015-08-10 13:56:28 · 362 阅读 · 0 评论 -
OC循环渐进:类目和延展
类目是非常简单的,它就是用来扩展一个类的方法的。 那么我们什么时候可以使用类目呢?它适用于以下两种情况: (1)当我们要扩展一个类的功能方法,而又不想修改原有的类中的代码时,就可以使用类目; 实例代码如下:使用类目为Student类扩展一些方法: Student.h 的文件代码如下:#import @interface Student : NSObject- (void)s原创 2015-08-10 12:40:59 · 356 阅读 · 0 评论 -
OC循环渐进:自定义通知NSNotification
在OC中,除了KVO能够监听一个对象属性的变化外,还有NSNotification类能够对对象进行监听,也就是我们的NSNotification类—自定义通知。自定义通知非常简单,主要为以下三步: (1)注册监听者 (2)监听中心发送通知 (3)移除监听者 自定义通知实现如下: 1.定义相对应的主席类,军人类,和人民类;当主席发送通知时,军人和人民要做出相对应的反应。 首先定义原创 2015-08-08 15:36:28 · 554 阅读 · 0 评论 -
OC循环渐进:单例设计模式
单例设计在设计模式中是一种比较重要的模式,当用户只想要生成一个实例化对象的时候,就可以把该类设计成单例模式。单例模式一般应用于内存开销比较大的来,在OC中被设计成单例的常见系统类有:NSNotificationCenter(通知中心),NSFileManager(文件管理)......NSNotificationCenter 实例化对象代码如下:NSNotificationCenter原创 2015-08-07 19:08:17 · 469 阅读 · 0 评论 -
OC循环渐进:KVO的使用
设计模式中有一种模式叫:观察者模式,在OC中我们就用KVO去实现观察者模式。KVO是基于KVC的一种技术,当我们使用KVO去观察一个对象的属性后,使用KVC去改变这个属性的值时,就会通知观察者。 接下来我们讲一个KVO的实例: 1.建立以个英雄类Hero和Support类,Support类作为英雄类的血量属性的观察者,但英雄血量发生变化是,通知观察者Support类。 Hero.h原创 2015-08-08 14:59:46 · 355 阅读 · 0 评论 -
OC循环渐进:KVC基本用法
在OC中,除了能够用setter和getter方法去操作对象中被保护的属性外,还可以同过键值编码的方式去访问,也就是KVC。说白了,也就是调用如下几个方法去操作属性: - (void)setValue:(id)value forKey:(NSString *)key; - (id)valueForKey:(NSString *)key; - (void)setValue:(id)val原创 2015-08-08 01:38:48 · 505 阅读 · 0 评论 -
OC循环渐进:开闭原则和里氏替换原则
在面向对象的学习中,如果要想写出健壮性较强的代码,就必须掌握开闭原则和里氏替换原则。那么什么是开闭原则呢?而什么又是里氏替换原则原则呢?开闭原则:所谓的开闭原则就是当我们改变一个软件时(比如软件扩展功能),应该通过扩展的方式来实现,而不是修改原来的代码。通俗来说就是:对扩展开发,对修改关闭。更直白点就是:代码中的对象具有多态性。里氏替换原则:所谓的里氏替换原则就是:基类(就是父类)出现原创 2015-08-07 22:57:02 · 880 阅读 · 0 评论 -
OC循环渐进:时间格式化
在OC中,学会格式化一个时间,是经常用到的。时间格式化,说白了,就是:将NSDate类对象按照程序员自己所定义的格式转化为NSString类型。 NSDate和NSString之间互转如下:1.利用NSDataFormatter格式化时间(NSDate ---> NSString)main.m文件代码如下:#import int main(int argc,原创 2015-08-07 22:32:58 · 716 阅读 · 0 评论 -
OC循环渐进:模拟实现多继承的两种方式
OC中没有多继承的概念,那么我们该如何实现多继承呢?OC中实现多继承主要有以下两种方式:1.(使用复合的方式)将类对象作为属性传入,步骤如下:(1)建立ClassA类代码如下:ClassA.h文件:#import @interface ClassA : NSObject@property (nonatomic,copy) NSString *name;- (vo原创 2015-08-07 18:54:29 · 398 阅读 · 0 评论 -
OC循环渐进:KVC的其它操作
在KVC中,当你传入的一个字符串键值不存在时,程序会直接报错,那么如何避免这个问题呢? 我们可以在类中重写以下两个方法: - (void)setValue:(id)value forUndefinedKey:(NSString *)key - (id)valueForUndefinedKey:(NSString *)key 接下来我们就来使用以下以上两个方法: 1.定义一个Student原创 2015-08-08 12:28:32 · 301 阅读 · 0 评论 -
OC循环渐进:KVC的运算
KVC不仅能够引用对象,还能对集合和数组进行一些运算,主要有: Tables Are @count 计算数组元素个数 @sum 计算元素总和 @avg 计算元素平均值 @min 计算元素最小值 @max 计算元素最大值原创 2015-08-08 10:39:55 · 354 阅读 · 0 评论