黑马程序员——Foundation学习总结1-6

---------------- 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";
3、通过字符串创建字符串。
    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;
}

---------------- ASP.Net+Unity开发.Net培训、期待与您交流! ----------------


----------------详细请查看:www.itheima.com-----------------------------------------


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值