首页 / IOS / iOS开发:单例模式
iOS开发:单例模式
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了iOS开发:单例模式,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1393字,纯文字阅读大概需要2分钟。
内容图文
![iOS开发:单例模式](/upload/InfoBanner/zyjiaocheng/1331/7e252858b9a6458ea7a3fa7ef0265e6a.jpg)
这是我的开园第一篇,至于为什么要写单例模式,是因为我在学习ios之初对单例模式的概念比较模糊,特意在这做一次整理,希望可以和大家分享。
一,ios单例模式的概念(什么是单例模式)
单例模式最主要的一点就是只有一个实例。实例是什么?实例就是对象一个叫法,对象实例化,用前辈的一个比喻就是说:制作月饼的磨具就是类,月饼就是对象,制作月饼的过程叫做对象实例化。
这个类只拥有一个实例,我们称之为单例类。这个单例类需要向整个工程或者说里面的各个类提供它的实例,通俗一点说,小明(实例对象)在一年级四班,他可以被叫到语文办公室,也可以被数学办公室点名。
优点么,实例只有一个,你说呢,,,
二,单例模式的应用
下面是我的一个Demo,非常通俗(单例模式一般情况下如何创建使用)
DAO.h
1 #import <Foundation/Foundation.h> 2@interface DAO : NSObject 3 + (DAO *)sharedDAO; //类方法
4 -(void)printYourName; //实例方法,就是过会实例要干的事情 5 @end
DAO.m
1 #import " DAO.h " 2 static DAO *instance=nil; //静态实例化一个对象 ,为什么是static,因为类方法也叫做静态方法 3@implementation DAO 4 5 + (DAO *)sharedDAO //判断实例是否为空,初始化它,作用就是获得DAO的单例对象 6{ 7if(instance==nil) 8 { 9 instance=[[DAO alloc] init]; 10 } 11return instance; 12}
13
14 -(void)printYourName //实例方法,在BL.m中将会调用
15 {
16 NSLog(@"张三");
17 }
@end
BL.h
1 #import <Foundation/Foundation.h> 2#import"DAO.h"34@interface BL : NSObject 56 @property (nonatomic,strong) DAO *dao; //创建一个叫dao的对象 78@end
BL.m
1 #import " BL.h " 2 3 4 5 @implementation BL 6 - (id)init //初始化 7{ 8 self=[super init]; 9if(self) 10 { 11 self.dao=[DAO sharedDAO]; //获得了单例对象 1213 [self.dao printYourName]; //用这个单例对象来调用DAO.m中的实例方法 1415 } 16return self; 17} 1819@end
这是较为简单一个demo,手打了一部分,可能会有瑕疵望指正。
对于刚刚学习ios的同学可能会帮助。在MVC开发模式中经常要运用到,当然这个demo比较初级,能够节省内存空间和时间,但存在多线程状态下并发问题,当然网上有很多改进版,大家可以搜索研习。
原文:http://www.cnblogs.com/zouyuanfengdeblog/p/4095051.html
内容总结
以上是互联网集市为您收集整理的iOS开发:单例模式全部内容,希望文章能够帮你解决iOS开发:单例模式所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。