您的位置:首页 > 其它

OC第四天-NSString,NSArray,NSNumber,数组遍历

2015-06-03 23:09 357 查看
NSString、NSArray、NSNumber、苹果帮助文档、值对象

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
//    NSString *我 = [[NSString alloc]init];
//    我 = @"fsdfsfsfsfsfs";
//    NSLog(@"我 = %@",我);

//NSString *str1 = [[NSString alloc] initWithString:@"wwwwww"];

NSString *s = [ NSString stringWithFormat:@"123我asdfads"];
//    用自定义的初始化方法initWithString来初始化一个字符串对象,如果参数是常量区字符串,则直接返回常量区的地址;如果参数是一个字符串对象,先将字符串对象中的值拷贝到堆区,然后返回堆区地址;
NSString *str1 = [[NSString alloc] initWithString:s];

//    获取字符串长度,计算的是Unicode字符的个数,一个Unicode字符是unsiged short 类型,占两个字节
NSUInteger strLength =[str1 length];
NSLog(@"strlength = %lu",strLength);

//    获取子字符串的方法:从第几个位置开始直到字符串的结束
NSString *str2 = [str1 substringFromIndex:3];//从第几个位置开始知道字符串的结束
NSLog(@"str2 = %@",str2);
NSString *str3 = [str1 substringToIndex:4];//从字符串的开始到第几个的位置结束
NSLog(@"str3 = %@",str3);

//    定义一个结构体变量
NSRange range = NSMakeRange(2, 4);
//    根据结构体变量来获取子字符串,开始位置是结构体变量的location,长度是结构体变量length
NSString *str4 = [str1 substringWithRange:range];
NSLog(@"str4 = %@",str4);

//    字符串拼接方法
NSString *str5 = [str1 stringByAppendingString:@"你好"];
NSLog(@"str5 = %@",str5);

//
NSString *str6 = [str1 stringByAppendingFormat:@"dgdgdgdgdgdfgdfgdg"];
NSLog(@"str6 = %@",str6);

//    替换字符串
NSString *string = @"hello world";
NSString *string1 = [string stringByReplacingOccurrencesOfString:@"hello" withString:@"你好"];

NSLog(@"string1 = %@",string1);

//    判断两个字符串是否相等,判断的两个字符串的内容绝对相等,大小写,字符串长度都是一致的
NSString *s1 = @"1231";
NSString *s2 = @"1232";
NSLog(@"%d",[s1 isEqualToString:s2]);

//    字符串比较
NSLog(@"compare = %ld", (long)[s1 compare:s2]);

//    练习1
//
NSString *png = @"12345.png";
//    判断字符串结尾是否相同,即 判断字符串是否以 XXX 结尾
if ([png hasSuffix:@"png"]) {
png = [png stringByReplacingOccurrencesOfString:@"png" withString:@"jpg"];
} else {
png = [png stringByAppendingString:@"jpg"];
}
NSLog(@"png = %@",png);

//    可变字符串
//     创建不可变字符串对象, 如果用stringWithString:就是直接将常量区内存中的内容拷贝到堆区, 然后返回堆区地址
NSMutableString *mutableStr = [NSMutableString stringWithString:@"12345"];

NSLog(@"AAA = %p, mu = %p",@"12345",mutableStr);

//    可变字符串的拼接
[mutableStr appendString:@"67890"];
NSLog(@"mutableStr = %@",mutableStr);

//  可变字符串的插入    在第5个位置插入asd
[mutableStr insertString:@"asd" atIndex:5];
NSLog(@"mu = %@",mutableStr);

//    可变字符串的删除   从第2个位置开始删除4个字符
NSRange delRange = NSMakeRange(2, 4);
[mutableStr deleteCharactersInRange:delRange];
NSLog(@"mu = %@",mutableStr);

//    练习2
NSMutableString *mutablePng = [NSMutableString stringWithFormat:@"2345.png"];

if ([mutablePng hasSuffix:@"png"]) {
//mutablePng = [mutablePng stringByReplacingOccurrencesOfString:@"png" withString:@"jpg"];
NSRange muRange = [mutablePng rangeOfString:@"png"];
[mutablePng replaceCharactersInRange:muRange withString:@"jpg"];

}else {
[mutablePng appendString:@".jpg"];
}
NSLog(@"mutablePng = %@",mutablePng);

//    通过便利构造器方法来创建一个不可变数组对象,结尾的nil表示结束
NSArray *array = [NSArray arrayWithObjects:@"3" ,@"4",@"5",nil];
NSLog(@"array = %@",array);
//    获取数组元素的个数
NSLog(@"count = %ld",[array count]);
//   获取数组某一个位置的值
NSLog(@"indexobjct = %@",[array objectAtIndex:1]);

//    可变数组
//    通过元素个数来创建可变数组
NSMutableArray *mutableArray = [NSMutableArray arrayWithCapacity:1];
//    给可变数组添加元素
[mutableArray addObjectsFromArray:array];
NSLog(@"mutableArray = %@",mutableArray);

//    插入
[mutableArray insertObject:@"20" atIndex:0];
NSLog(@"mutableArray = %@",mutableArray);

//    删除
[mutableArray removeObjectAtIndex:1];
NSLog(@"dellar = %@", mutableArray);

//    数组的遍历
//    快速枚举遍历

for (NSString *ss in array) {
NSLog(@"ss = %@",ss);
}

//    创建一个NSNumber对象
NSNumber *num1 = [NSNumber numberWithInt:10];
//    获取NSNumber对象的数值
NSLog(@"num1 = %d",[num1 intValue]);

//    NSValue
//    用便利构造器 创建一个NSValue对象
NSValue *value = [NSValue valueWithRange:NSMakeRange(10, 20)];
NSLog(@"value = %@",value);
//    通过NSRange获取结构体变量的值
NSRange ra = [value rangeValue];
NSLog(@"ra = %lu",ra.location);

int a = 20;

NSValue *intValue = [NSValue valueWithPointer:&a];
NSLog(@"intValue = %@",intValue);
int *p = [intValue pointerValue];
NSLog(@"pointer  = %d",*p);

return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息