---------------- ASP.Net+Unity开发、.Net培训、期待与您交流!----------------
《5 2.Foundation1-常用结构体》学习总结
1、NSRange用来表示事物的一个范围,通常是字符串里的字符范围或者集合里的元素范围。
2、NSRange结构体中的location表示该范围的起始位置,length表示该范围内所含的元素个数。
3、创建NSRange变量示例。
// 直接给成员赋值.
NSRange range;
range.location = 10;
range.length = 6;
// 应用C语言的聚合结构赋值机制.
NSRange range = {10,6};
// 使用Foundation框架提供的NSMakeRange函数.
NSRange range = NSMakeRange{10,6};
4、NSSize是CGSize的别名。
5、NSSize用来存储宽度和高度,可以用NSMakeSize()和CGMakeSize()来创建。
6、创建NSSize变量示例。
NSSize size;
// 直接给成员赋值.
size.width = 100;
size.height = 90;
// 使用Foundation框架提供的NSMakeSize函数.
size = NSMakeSize(100, 90);
// 使用Foundation框架提供的CGSizeMake函数.
size = CGSizeMake(100, 10);
7、NSRect是CGRect的别名。
8、NSRect用来存储宽度、高度和左上角坐标,可以用NSMakeRect()和CGMakeRect()来创建。
9、创建NSRect变量示例。
NSRect rect;
// 直接给成员赋值.
rect.origin.x = 10;
rect.origin.y = 11;
rect.size.width = 100;
rect.size.height = 90;
// 使用Foundation框架提供的NSMakeRect函数.
rect = NSMakeRect(10, 11, 100, 90);
// 使用Foundation框架提供的CGRectMake函数.
rect = CGRectMake(10, 11, 100, 90);
《5 3.Foundation2-NSString的创建》学习总结
1、创建常量字符串。
NSString *string = @"This is a String";
2、创建空字符串,然后赋值。
NSString *string = [[NSString alloc] init];
string = @"This is a String";
NSString *string = [[NSString alloc] initWithString:@"This is a String"];
NSString *string = [[NSString alloc] initWithFormat:@"age is %i",20];
4、用标准C创建字符串。
char *cString = "This is a String";
NSString *string = [[NSString alloc] initWithCString:cString encoding:NSUTF8StringEncoding];
NSString *string = [[NSString alloc] initWithUTF8String:cString];
5、NSUTF8StringEncoding:指定字符串编码为UTF-8。
6、读取文件示例。
#import <Foundation/Foundation.h>
int main()
{
@autoreleasepool {
// 文件路径.
NSString *path = @"/Users/time/Desktop/1.txt";
// 记录错误信息.
NSError *error;
// 读取文件.
NSString *str1 = [NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:&error];
// 判断有无错误信息.
if (error == nil) {
// 读取成功.
} else {
// 读取失败,打印主要的错误信息
NSLog(@"读取文件失败,%@.",[error localizedDescription]);
}
}
return 0;
}
7、用URL读取文件示例。
// 读取文件.
NSURL *url = [NSURL URLWithString:@"file:///Users/time/Desktop/1.txt"];
NSString *str = [NSString stringWithContentsOfURL:url encoding:NSUTF8StringEncoding error:nil];
// 读取网页.
NSURL *url = [NSURL URLWithString:@"http://www.csdn.com"];
NSString *str = [NSString stringWithContentsOfURL:url encoding:NSUTF8StringEncoding error:nil];
《5 4.Foundation3-指向指针的指针》学习总结
1、指针的指针示例。
#import <Foundation/Foundation.h>
void changeStr(NSString **str2) {
// str2是一个二级指针.
*str2 = @"123";
}
int main()
{
@autoreleasepool {
// str是一个一级指针.
NSString *str = @"456";
// 实参是str的地址.
changeStr(&str);
}
return 0;
}
2、str指针中存放的是字符串456的地址。
3、str2指针中存放的是str指针的地址,而str指针中存放的是字符串456的地址。
4、str2指针中存放的是str指针的地址,而str指针中存放的是字符串456的地址,*str2和str是一样的,通过*str2将str指针中存放的内容改为123的地址。
《5 5.Foundation4-NSString的导出》学习总结
1、NSString的导出示例。
#import <Foundation/Foundation.h>
int main()
{
@autoreleasepool {
// 写入内容.
NSString *str = @"hello";
// 如果文件不存在会自动创建,如果文件夹不存在则直接报错.
NSString *path = @"/Users/time/Desktop/1.txt";
// 用来记录错误信息.
NSError *error;
// 写入文件.
[str writeToFile:path atomically:YES encoding:NSUTF8StringEncoding error:&error];
// 判断有无错误信息.
if (error == nil) {
// 写入成功.
} else {
// 写入失败,打印主要的错误信息.
NSLog(@"写入文件失败,%@.",[error localizedDescription]);
}
}
return 0;
}
《5 6.Foundation5-NSString的常用方法》学习总结
1、uppercaseString:将字符串转换成大写。
2、lowercaseString:将字符串转换成小写。
3、capitalizedString:将字符串首字母变成大写。
4、isEqualToString:检测两个字符串的内容是否相同。
5、isEqualToString的返回值:NSOrderedSame(相等)、NSOrderedAscending(右边字符串大)、NSOrderedDescending(左边字符串大)。
6、hasPrefix:检测字符串的开头是否包含某字符串。
7、hasSuffix:检测字符串的结尾是否包含某字符串。
8、rangeOfString:检测字符串是否包含某字符串。
9、NSBackwardsSearch:从尾部开始检测字符串。
10、substringFromIndex:截取索引到尾部之间的字符串。
11、substringToIndex:截取开头到索引之间的字符串。
12、substringWithRange:指定范围进行截取。
13、componentsSeparatedByString:根据标志截断字符串。
14、pathWithComponents:将数组中的所有字符串拼接成一个路径。
15、pathComponents:将路径分解成一个数组。
16、isAbsolutePath:判断路径是否为绝对路径。
17、stringByDeletingLastPathComponent:删除路径中的最后一个目录。
18、stringByAppendingPathComponent:拼接一个目录在路径最后。
19、pathExtension:查看路径的扩展名。
20、stringByDeletingPathExtension:删除路径的扩展名。
21、stringByAppendingPathExtension:添加路径的扩展名。
22、length:计算字数(不是字符数)。
23、characterAtIndex:取出对应的字符。
24、UTF8String:返回C语言中的字符串。
《5 7.Foundation6-NSMutableString》学习总结
1、NSString是不可变的,不能删除字符或添加字符。
2、NSMutableString是NSString的子类,可以删除字符或添加字符。
3、NSMutableString示例。
#import <Foundation/Foundation.h>
int main()
{
@autoreleasepool {
// 预先分配10个字数的存储空间.
NSMutableString *str = [[NSMutableString alloc] initWithCapacity:10];
// 设置字符串内容.
[str setString:@"123"];
// 拼接一个字符串.
[str appendString:@"567"];
// 拼接字符串.
[str appendFormat:@"age is %i and height is %.2f", 27, 1.55f];
// 替换字符串.
NSRange range = [str rangeOfString:@"height"];
[str replaceCharactersInRange:range withString:@"no"];
// 插入字符串.
[str insertString:@"abc" atIndex:2];
// 删除字符串.
range = [str rangeOfString:@"age"];
[str deleteCharactersInRange:range];
// 释放对象.
[str release];
}
return 0;
}