静态类和单例的区别及相互转换

本文介绍了iOS开发中静态类和单例的使用场景及区别,提供了一个登录功能的实现案例,说明了如何从静态类转换为单例,以及单例在内存管理和继承上的优势。通过实例分析,帮助开发者理解并合理运用这两种设计模式。
摘要由CSDN通过智能技术生成

相信不少iOS的开发者在读或者写不同的代码时经常能够遇到静态类和单例,基本上优秀的开源项目都将二者完美的切入到项目中。二者的使用优劣对比网上也是各有其说,比较老套我就不文字分析二者的区别了,笔者对此查询了相关资料和对比几个优秀的代码,得出以下结论:
1. 如果项目大量用到了同一个类的若干方法,那就将这个类改为单例,或者新建继承此类的单例,这样可以减少多次初始化该类的弊端。
2. 如果一些常用的方法多个项目都可以使用,可以形成一个静态类的集合,方便以后重用。
3. 只要你愿意,二者可以相互转换。

举个例子,拥有登录功能的项目,都要处理登录数据及逻辑,两个方法:

方法一:建一个登录数据处理类:LoginEngine

LoginEngine.h
@interface LoginEngine : NSObject
// 保存用户名
+ (void)saveName:(NSString *)name;
// 获取用户名
+ (NSString)name;
@end
LoginEngine.m
@implementation LoginEngine
+ (void)saveName:(NSString *)name {
    NSUserDefaults *userDefaults = [NSUserDefaults standardUserDe
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值