- 博客(25)
- 资源 (4)
- 收藏
- 关注
原创 iOS 调用系统铃声及震动
有个项目要求是播放一个提示音,提示音没有要求。我想,如果能用系统的铃声,不需要添加音频文件,能减小包的大小。 在这里可以找到系统铃声: http://iphonedevwiki.net/index.php/AudioServicesSystemSoundID sound = kSystemSoundID_Vibrate;//这里使用在上面那个网址找到的铃声,注意格式NSString *path
2016-08-19 15:39:35 4484 1
原创 用 xib / Storyboard 创建 UITableView 的 header 和 footer
拖一个 UITableView 到 self.view 里。拖两个 UIView,与 self.view 同级,并重命名为 header 和 footer (重命名不是必要的,这里只是方便辨认) 打开Attributes inspector 将 header 和 footer 的 Size 设置为 freedom 将 header 和 footer 先后拖入 UITableView调整大小
2016-03-24 10:21:52 8388
原创 iOS 设计模式之建造者模式 (Builder)
建造者模式是当在创建复杂对象的算法应该独立于该对象的组成部分以及它们的装配方式时适用的模式。建造者模式包含产品类(Product)、抽象建造者类(Builder)、具体建造者类(ConcreteBuilder1、ConcreteBuilder2…)和指挥者类(Director)从下面的代码中看各个类的使用:PersonBuilder *builder = [[PersonThinBuilder al
2016-02-25 10:59:37 1556
原创 iOS 设计模式之外观模式 (Facade)
外观模式依然是为了解耦存在的,创建一个 Facade 类,提供简单的接口,减少类之间的依赖。Facade 类可以提供遗留代码的比较清晰的简单接口,让新的类与 Facade 对象交互, Facade 对象与老类的类交互。实例地址:https://github.com/clairehu7/DesignPatterns(08Facade)
2016-02-24 15:51:30 757
原创 iOS 设计模式之模版方法模式 (TemplateMethod)
模版方法模式实际就是把不变的行为放在父类,把自定义行为放在子类。我曾经写过一个控件,只有一个类,然后通过枚举设置它的 type,在 .m 中,通过 type 完成不同的实现。(这个 viewController 的 UI 是固定的,不同的 type 是在装载不同的 model)只有一个类,看似较为简单,但实际上 type 增加到5、6个的时候,类中的代码已经很多,而且不好维护。这样写违反了开放-封闭
2016-02-24 14:47:48 526
原创 iOS 设计模式之原型模式 (Prototype)
原型模式从一个对象在创建另一个对象,而不需知道任何创建细节。一般在初始化信息不变化的情况下,使用原型模式是最好的方法,即隐藏了对象创建的细节,对性能又大大提高。在 iOS 开发中,体现原型模式的是 copy 和 mutableCopy。copy 指的是复制对象,返回一个不可变的对象,是浅拷贝。NSArray *arrA = @[@"1",@"2",@"3",@"4"];id arrACopy =
2016-02-23 09:36:20 954 1
原创 iOS 设计模式之工厂方法模式(FactoryMethod)
工厂方法模式克服了简单工厂模式违背开放-封闭原则的缺点,保持了封装对象创建过程的优点。要更换对象时,无论用简单工厂模式还是工厂方法模式,都可以不用做大的改动,就可以实现,降低乐乐客户程序与产品对象的耦合。工厂方法模式是简单工厂模式的进一步抽象和推广,缺点是,每加一个产品,就要加一个产品工厂的类,增加了开发量。实例地址:https://github.com/clairehu7/DesignPatter
2016-02-22 14:29:44 536
原创 iOS 设计模式之代理模式(Proxy)
代理模式是 iOS 开发过程中一种非常常见的模式。小明要追求小红,但是小红不认识小明,小明就让小强帮自己送花,这就是代理模式:为其他对象提供一种代理以控制对这个对象的访问。我的理解是,小明(追求者)决定送什么(方法实现),而小强(代理人)决定什么时候送(方法调用)。当追求者不知道被追求者的名称时,由代理人传入名字。实现://追求者小明 Proxy.h#import "Proxy.h"@interf
2016-02-18 00:20:48 1120
原创 iOS 设计模式之装饰模式(Decorator)
给一个人穿上衣服,使用装饰者模式给一个人穿上衣服,首先要定义一个 Person 类。 Person 有一个 name,还可以展示自己穿了什么。//Person.h@interface Person : NSObject@property (nonatomic, strong) NSString *name;- (void)show;@endself.name 为 property,其实不用重
2016-02-17 13:38:13 2172
原创 iOS 设计模式之策略模式( Strategy)
超市搞活动后,计算活动后商品的价格,使用策略模式实例地址:https://github.com/clairehu7/DesignPatterns 02Strategy
2016-02-17 11:36:48 697
原创 iOS 设计模式之简单工厂方法模式(SimpleFactoryMethod)
本系列文章为读《大话设计模式》后的读书笔记。《大话设计模式》一书中,简单方法模式依靠实现一个计算器讲解。补充说明: 简单工厂模式: 简单工厂模式(Simple Factory Pattern)属于类的创建型模式,又叫静态工厂方法模式(Static FactoryMethod Pattern),是通过专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类,工厂:这个工厂类是简单工厂模
2016-02-17 11:16:17 664
转载 ViewController 详解
一、生命周期当一个视图控制器被创建,并在屏幕上显示的时候。 代码的执行顺序1、 alloc 创建对象,分配空间2、init (initWithNibName) 初始化对象,初始化数据3、loadView 从nib载入视图 ,通常这一步不需要去干涉。除非你没有使用xib文件创建视图4、viewDid
2016-01-19 17:32:44 526
原创 NSTimer 两种常用创建方式的区别
NSTimer 有两种常用创建方式。//第一种,使用 timerWithTimeInterval:target:selector:userInfo:repeats: 方法timer = [NSTimer timerWithTimeInterval:1 target:singleTimerManager
2015-11-21 18:33:41 5614
原创 观察变量值修改的位置
使用观察者模式观察变量值修改的位置#import "ViewController.h"@interface ViewController ()@property (nonatomic,strong) NSString *testString;@end@implementation ViewController- (void)viewDidLoad { [super viewDidLoad
2015-10-20 13:54:18 879
原创 使用 Xcode 工具(Network Link Conditioner)模拟网络状态
使用 Xcode 工具(Network Link Conditioner)模拟网络状态,达到测试接口等目的。
2015-08-11 09:30:05 5458
iOS系统铃声plist文件
2016-08-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人