本文主要介绍Objective-C语言中的一些常用数据结构
HelloWorldViewController.m类中,我们的测试语法代码添加在viewDidLoad方法中
- (
void
)viewDidLoad
{
[super viewDidLoad];
//程序启动界面显示之前会调用这个方法
//所以将语法代码添加在这里
}
1.整型 (int) 浮点型 (float, double) 短长整型(short, long)
常用数据类型与c语言基本一样 难怪是c语言的超集
- (
void
)viewDidLoad
{
[super viewDidLoad];
//程序启动界面显示之前会调用这个方法
//所以将语法代码添加在这里
//整型
int
i = 100;
//浮点型
float
f = 1.1;
//双浮点型
double
d = 2.2;
//短整型
short
int
si = 200;
//长整型
long
long
int
ll = 123324123234123L;
//输出数据与内存中所占字节数
//整型
NSLog(@
"i = %d size = %lu byte "
,i,
sizeof
(i));
//浮点型
NSLog(@
"f = %f size = %lu byte"
,f,
sizeof
(f));
//双浮点型
NSLog(@
"d = %e size = %lu byte"
,d,
sizeof
(d));
//短整型
NSLog(@
"si = %hi size = %lu byte"
,si,
sizeof
(si));
//长整型
NSLog(@
"ll = %lli size = %lu byte"
,ll,
sizeof
(si));
}
Log打印结果
2.字符串 NSString* 与 char*
- (
void
)viewDidLoad
{
[super viewDidLoad];
//程序启动界面显示之前会调用这个方法
//所以将语法代码添加在这里
NSString * str = @
"MOMO"
;
char
*c =
"15810463139"
;
//将NSString 转换为char *
const
char
*change = [str UTF8String];
//输出log
NSLog(@
"str = %@ size = %lu"
, str,
sizeof
(str));
NSLog(@
"c = %s size = %lu"
, c,
sizeof
(c));
NSLog(@
"change = %s size = %lu"
, change,
sizeof
(change));
}
Log打印结果
字符串格式化
使用stringWithFormat 方法来格式化字符串
意思就是将整型 字符型 等等 合并成一个NSString*类型
- (
void
)viewDidLoad
{
[super viewDidLoad];
//程序启动界面显示之前会调用这个方法
//所以将语法代码添加在这里
NSString * str = [NSString stringWithFormat:@
"姓名:%@ 年龄:%d 邮箱:%@"
,@
"雨松momo"
,25,@
"xuanyusong@gmail.com"
];
NSLog(@
"str = %@"
,str);
}
Log 输出结果
3.布尔值
宏定义 真为YES 假为NO
因为Objective-C 是C语言的超集 所以在代码中写 true 和false 也是可以运行通过的
这里毕竟是Objective-C 所以还是建议使用YES 和 NO
- (
void
)viewDidLoad
{
[super viewDidLoad];
//程序启动界面显示之前会调用这个方法
//所以将语法代码添加在这里
bool
a =
false
;
bool
b =
true
;
if
(a == b)
{
NSLog(@
"a与b相等"
);
}
if
(a != b)
{
NSLog(@
"a与b不等"
);
}
bool
c = YES;
bool
d = YES;
if
(c == d)
{
NSLog(@
"c与d相等"
);
}
if
(c != d)
{
NSLog(@
"c与d不等"
);
}
}
Log打印结果
4 .数组与字典
NSArray 数组: 使用它创建数组后,就不可以继续向这个数组中添加或者删除元素。
这个数组中可以储存任意类型object的对象指针 但是不能用处储存数据类型 比如int bool char 等等
下面这行代码中我将三个字符串和self 指针储存在了mArray这个数组中
遍历方法一 : 很普遍java 语言 c 语言都这样来遍历//初始化不可变数组
mArray =[[NSArray alloc] initWithObjects:@
"雨松MOMO"
,@
"15810463139"
,@
"xuanyusong@gmail.com"
,self,nil];
遍历方法二: objective-c 2.0 引入的快速枚举法 不仅速度快 并且安全性高,推荐使用这种方式来遍历.int
count = [mArray count];
for
(
int
i = 0; i < count; i++) {
NSLog(@
"固定数组 %@"
, [mArray objectAtIndex:i]);
}
for
(NSString * str in mArray) {
NSLog(@
"固定数组 %@"
, str);
}
打印Log信息,最后一项为self指针 ,所以将地址打印了出来。
文章出处: http://www.oschina.net/question/54100_28818