iOS Foundation框架初接触
来源:互联网 发布:尤里的复仇数据修改 编辑:程序博客网 时间:2024/05/16 15:38
刚接触 iOS 的 Foundation 框架,感觉和 Java 的 lang 包挺类似。以前总觉得框架好像很深奥,了解一些 Foundation 框架基础后发现不难,其他虽然还没怎么了解,但感觉应该会相似。
主要介绍了以下几个常用的类:
NSString
char *s = "Hello OC"; // C语言定义的字符串NSString *str = @"Hello"; // OC语言定义的字符串NSString str1 = [NSString stringWithUTF8String:s]; // C字符串转换为OC字符串NSLog(@"str1 = %@", str1); // 打印输出NSLog(@"str2 = %s", [str UTF8String]); // OC字符串转换为C字符串
NSString *str = @"iOS"; // 系统帮我们实例化对象,释放内存(无需自己释放内存)NSString *str = [[NSString alloc] init]; // 需要自己释放内存str = @“iOS”;
格式化字符串:
int a = 10;int b = 20;NSString *str = [NSString stringWithFormat:@"a = %d, b = %d", a, b];NSLog(@"str = %@", str);
字符串连接:
NSString *str1 = [str stringByAppendingString:@"hi"]; // str后链接字符串hi
大小写转换:
NSString *str = @"aBcDe";[str lowercaseString]; // 转为小写[str uppercaseString]; // 转为大写
判断前后缀
NSString *str = "www.baidu.com";BOOL hasprefix = [str hasPreFix:@"www"]; // 判断是否包含指定的前缀BOOL hasSuffix = [str hasSuffix:"com"]; // 判断是否包含指定的后缀
判断两个字符串是否相同
NSString *str1 = @"hello";NSString *str2 = @"hello";if ([str1 isEqualToString:str2]) { NSLog(@"两个字符串一致");} else { NSLog(@"两个字符串不一致");}
还可以用 NSComparisonResult 比较,此方法略麻烦。
分割字符串
NSString *str = @"a, b, c, d, e";NSArray *arr = [str componentsSeparatedByString:@","]; // 用逗号作分割符,返回一个数组for (NSString *s in arr) { // 遍历输出 NSLog(@"str = %@", s);}
按照范围截取字符串
NSRange range = NSMakeRange(1, 2); // 参数:起始位置,长度[@"hello" substringWithRange:range]; // @"hello"也可为事先定义好的字符串
截取
[@"hello" substringFromIndex:2]; // 从第二位开始截取到最后[@"hello" substringToIndex:5];
拆分
for (int i=0; i<[@"hello" length]; i++) { NSLog(@"%c", [@"hello" characterAtIndex:i]); // 将字符串拆分为一个个字符}
查找
NSString *str = @"ab cd ef ab";NSRange range = [str rangeOfString:"ab"];NSLog(@"range.location:%ld range.length:%ld", range.location, range.length); // 查找字符串 ab 的位置和长度(若有多个,则默认第一个)
替换
NSString *str1 = @"Hello, world";NSString *str2 = [str1 stringByReplacingOccurrencesOfString:@"Hello" withString:@"你好"]; // 将 "Hello" 替换为 “你好“
NSRange range = [str rangeOfString:@"hello"];[str ];(???)
读取文件(???)
写入文件(???)
删除
NSMutableString
NSArray
NSArray *arr = [[NSArray alloc] initWithObjects:@"a", @"b", @"c", nil]; // 注意最后一个元素为 nil
获取数组中的元素
NSArray *arr = [[NSArray alloc] initWithObjects:@"a", @"b", @"c", nil];[arr firstObject]; // 获取第一个元素[arr objectAtIndex:2]; // 获取第二个元素(从0开始,注意不要越界)
删除元素
[arr removeAllObjects]; // 删除数组内所有元素[arr removeLastObject]; // 删除最后一个元素[arr removeObject:@"c"]; // 删除指定的元素
交换元素位置
[arr exchangeObjectAtIndex:0 withObjectAtIndex:1]; // 交换位置为0和1的两个元素
NSMutableArray
NSDictionary
初始化(不常用)
NSDictionary *dict = [NSDictionary dictionaryWithObject:@"1" forKey:@"a"];
常用初始化方法
NSDictionary *dict = [NSDictionary dictionaryWithObjects:[NSArray arrayWithObjects:@"1",@"2", @"3", nil] forKeys:[NSArray arrayWithObjects:@"a", @"b", @"c", nil]];
简写
NSDictionary *dict = @{@"1":@"a", @"2":@"b", @"3":@"c"};
字典长度
int count = (int)[dict count];NSLog(@"count = %d", count);
查找
[dict valueForKey:@"b"]; // 根据 key 查找 value(要分清key和value)[dict allValues]; // 返回所有的值(数组类型)
替换
NSArray *array = [dict1 objectsForKeys:[NSArray arrayWithObjects:@"a", @"2", nil] notFoundMarker:@"not found"]; NSLog(@"%@", array); // 若未找到对应的value,则显示为"not found"替换
遍历
NSDictionary *dict = @{@"1":@"a", @"2":@"b", @"3":@"c"};for (NSString *key in dict) { NSLog(@"%@ = %@", key, [dict2 objectForKey:key]);}
输出结果:
NSMutableArray
初始化
NSMutableDictionary *dict = [[NSMutableDictionary alloc] init];[dict setObject:@"1" forKey:@"a"];[dict setObject:@"2" forKey:@"b"];
删除键值对
[dict removeAllObjects]; // 删除所有[dict removeObjectForKey:@"a"]; // 删除某个[dict removeObjectsForKeys:[NSArray arrayWithObjects:@"b", @"c", nil]]; // 删除多个
PS:未完成,待进一步整理。
总结自 慕课网
0 0
- iOS Foundation框架初接触
- ios - Foundation框架 - NSDictionary
- ios foundation框架简介
- iOS 之 Foundation 框架
- IOS之Foundation框架
- iOS Foundation 基础框架
- ios-Foundation框架
- iOS-Foundation框架(视频教程)
- iOS Foundation 框架基类
- iOS开发-OC-Foundation框架
- iOS-Foundation框架(NSDateFormatter)
- IOS之Core Foundation框架和Cocoa Foundation框架区别
- IOS之Core Foundation框架和Cocoa Foundation框架区别
- IOS之Core Foundation框架和Cocoa Foundation框架区别
- SpringBoot框架初接触
- 初接触Spring框架
- ios笔记--Foundation框架学习笔记
- 黑马程序员-iOS基础-Foundation框架基础
- 初学Hibernate框架之环境配置和测试
- MySQL Cluster 配置文件(config.ini)详解
- JVM参数详解
- 在ASP.NET Web API中使用OData
- Swift 可选值(Optional Values)介绍
- iOS Foundation框架初接触
- 闭包的简单定义和使用
- Parcelable接口实现
- JavaScript数字字符转数据类型
- 关于logcat日志
- POJ 1220 NUMBER BASE CONVERSION 高精度进制转换
- Garnter 安全培训
- 3、观察者模式
- 古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子, 小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子对数为多少?