【Object-c基础】预定义,条件编译,数组

原文: http://blog.csdn.net/qiaoshe/article/details/6895505
1.     预定义:#define
在object-c中,跟C语言一样都是采用#define才使用,但末尾是没有分号的;
例子:

#define PI 3.14

在之后即可引用,这点在iphone开发中一定每个组建的tag非常好用,并且可以集合放一个定义文件中。
2.     条件编译:#ifdef,#end,#elseif
#ifdef,#else,#endif如我们常识认为的那样,程序会根据判断条件处理或者忽略某一个程序段。
例子:

#ifdef MAC_OS_X
#  define DATADIR “/uxnl/data”
#else
#  define DATADIR “\usr\data”
#endif

3.     数组
在object-c中,C语言的数组格式初始化和引用都能够用,但在object-c中不提倡使用。
(1)不可变数组: NSArray
初始化: 
NSArray*array=[[NSArray alloc] init];
相同的初始化方法还有:
initWithArray;
initWithContentsOfFile;
initWithContentsOfURL;
initWithObjects;
同样还可以通过如下方法创建一个数组:
arrayWithArray;
arrayWithContentsOfFile;
arrayWithContentsOfURL;
arrayWithObject;
arrayWithObjects;
其他详细的可以参考IOS开发者文档。
(2)可变数组: NSMutableArray
NSMutableArray是在开发中最常用的数组,常用如下声明:
初始化:
NSMutableArray *mutableArray =[[NSMutableArray alloc] init];
还有:
arrayWithArray:array;
arrayWithObjects:;
arrayWithCapacity;
initWithCapacity;
另外还有增加元素的删除元素的方法,如下:
addObject:
addObjectFromArray:
insertObject:atIndex:
removeObject:
removeObjectAtIndex:
在很多语言如 java , ruby , python中都有将字符串切分成数组或者将数组元素以某个间隔字符串间隔形成新的数组。 
其实NSArray也提供了这样的功能。 
使用- componentsSeparatedByString:来切分NSArray。 如: 
引用

NSString * string = @” one : two : three ”;  
NSArray * aArray = [ string componentsSeparatedByString :@ ":" ];

用- componentsJoinedByString:来合并NSArray中的各个元素并创建一个新的字符串,如: 

string = [aArray componentsJoinedByString:@","]; 

这样,上面的数组就中的各个元素就以”,”分割形成一个字符串
具体的可以参照IOS开发文档
(3)字典: NSDictionary
 初始化的方法有:
NSDictionary *dictionary = [NSDictionary alloc] initWithObjectsAndKeys:
@"number1",@"1",@"number2",@"2",@"number3",@"3",nil];
同样也有多种相似的初始化方法,但开发中最常用的是:
  + (id)dictionaryWithObjects:(NSArray *)objects forKeys:(NSArray *)keys
 
  这个可以根据键值对对相同的键值进行配对,对存储成对的数据非常管用。
  相同的字典也有可变字典:NSMutableArray.这个属性的具体情况类似NSMutableArray,具体可以查看IOS开发文档。
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值