ios java static_iOS使用静态变量

之前看"Effective Objective-C 2.0", 第4条, 多用静态变量, 少用define.

正好我的项目有些东西是静态变量, 之前java我习惯起一个类, 里面全都是public static String 什么的.

OC里面的做法跟C一样, 可以定义在自己的.m文件里面定义静态变量:

#import "BLEPackage.h"

...

#import "Tools.h"

int const UTF8_CODE_TRANS_START_PACKAGE_LENGTH=3;

int const UTF8_CODE_TRANS_END_PACKAGE_LENGTH=2;

@implementation BLEPackageFactory

...

@end

如果这些变量别人也要用, 那么就在这个类的.h文件里面加一行:

#import "BLEPackageType.h"

extern int const UTF8_CODE_TRANS_START_PACKAGE_LENGTH;

@interface BLEPackageFactory : NSObject

...

@end

这样, 别的类通过引用.h文件就能使用这个静态变量了.

这样做比define的好处是, 编译器会帮你检查变量类型, 避免后面使用的时候出错, 如果直接define编译器就不管你了.

所以要习惯使用这个const+extern来定义静态变量, 毕竟静态变量每个项目都会用到啊...

遗留问题, 都写在plist里面会不会太特么累?

另外, 书中强调, 最好使用带类名的前缀, 保证你的变量能被找到定义的位置. 是不是不要用java的方法, 用全大写?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值