当前位置:首页 > 嵌入式 > 嵌入式软件
[导读] 单例是指静态分配的实例,而 iphone sdk 中全是这种实例,例如[UIApplication sharedApplication] 返回一个指向代表应用程序的单例对象的指针。[UIDevice currentDevice]

 单例是指静态分配的实例,而 iphone sdk 中全是这种实例,例如

[UIApplication sharedApplication] 返回一个指向代表应用程序的单例对象的指针。[UIDevice currentDevice] 获取一个代表所有使用硬件平台的对象。

将类方法与单例相结合,便可以在程序的任何地方访问静态实例,而无需使用指向对象的指针或保存它的实例变量。创建类的唯一实例(普通单例)的函数示例:

//在很多时候,我们使用某个类的唯一实例。最常见的就是一个程序的主类,以下是以名为 RootViewController 创建的一个单例函数:

static RootViewController *sharedRootController = nil;

+(RootViewController *) sharedController{

@synchronized(self)

{

if (sharedRootController == nil)

{

sharedRootController = [[[self alloc] init] autorelease];

}

}

return sharedRootController;

}

+(id) allocWithZone:(NSZone *)zone

{

@synchronized(self)

{

if (sharedRootController == nil)

{

sharedRootController = [super allocWithZone:zone];

return sharedRootController;

}

}

return nil;

}

代码说明:

1、synchronized 这个主要是考虑多线程的程序,这个指令可以将{ } 内的代码限制在一个线程执行,如果某个线程没有执行完,其他的线程如果需要执行就得等着。

2、网上搜索的代码,好像有一个没有加入 autorelease,我觉得应该需要加。因为如果调用的函数没有release就麻烦了(我觉得,iOS 上的程序,对于创建用于函数返回值的,都应该考虑 autorelease)。

3、allocWithZone 这个是重载的,因为这个是从制定的内存区域读取信息创建实例,所以如果需要的单例已经有了,就需要禁止修改当前单例,所以返回 nil。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

当地时间周一,埃隆・马斯克旗下人工智能初创公司 xAI 与社交媒体平台 X(原 Twitter)联合发起诉讼,指控苹果与 OpenAI 非法阻碍人工智能领域竞争,核心反对苹果将 ChatGPT 深度集成至 iOS 系统的...

关键字: 马斯克 苹果 OpenAI iOS ChatGPT

从按下快门前就对照片进行即时锐化,到通话过程中实时消除背景噪音,再到离线状态下与人工智能 (AI) 助手互动,端侧 AI 正在重塑移动体验。而 Arm 计算平台正是实现这些无缝交互体验的强劲驱动力。

关键字: 人工智能 iOS 安卓

创新能源储存解决方案旨在提升车辆安全性与效率 12V和48V电压架构合同的开创性签署,充分体现了本行业对Clarios先进超级电容器技术的坚定信心 威斯康星州格伦代尔2025年1月7日 /美通社/ --...

关键字: iOS 超级电容器 RIO 电力

无锡2024年11月14日 /美通社/ -- 布勒集团受苏美达股份有限公司邀请,于2024年11月5日至10日,与线上线下17个国家108家品牌制造商一起,以"联动世界,共赢未来"为主题同台亮相第七届...

关键字: 数字化 HELIO iOS 智能制造

乔和比利从小就是好朋友。两家公司都在食品管理方面开展了各自的业务。乔是一个技术极客,而比利信奉老派风格。然而,在最初的5年里,Joe在食品行业获得了很多声誉,而Billy未能在业务中获得回报,因此计划关闭。

关键字: 物联网 食品工业 Android iOS

释放8千岗位,吸引超1万名硕博人才 上海2024年10月28日 /美通社/ -- 又到一年"金九银十"求职季。10月23日,2024上海首届千...

关键字: 大众 BSP ROOT 中科院

上海2024年9月24日 /美通社/ -- 2024年9月20日, "2024大成人工智能法律合规与知识产权"论坛圆满落幕。本次论坛由上海市法学会知识产权法研究会、上海交通大学知识产权与竞争法研究院、上海人工智能研究院、...

关键字: 人工智能 SHARE AI技术 数据中心

AppsFlyer 的最新发布的《2024 电商 App 营销现状报告》显示,建立客户关系、提高用户忠诚度将成为电商 App 销售旺季的制胜关键。 北京2024年8月22日 /美通社/ -- 全球营销衡量与体验管理平台...

关键字: 移动 APPS BSP iOS

加州卡尔弗城2024年8月14日 /美通社/ -- Snail, Inc. (纳斯达克股票代码: SNAL) (以下简称"蜗牛"或"公司")是一家领先的全球独立开发商和发行商,专注于互动数字娱乐,今日宣布截至2024年6...

关键字: SHARE AI CURRENT CK

实时操作系统是保证在一定时间限制内完成特定功能的操作系统。实时操作系统有硬实时和软实时之分,硬实时要求在规定的时间内必须完成操作,这是在操作系统设计时保证的;软实时则只要按照任务的优先级,尽可能快地完成操作即可。

关键字: OS iOS
关闭