黑马程序员-Foundation框架及NSStr…

-----------android培训java培训、java学习型技术博客、期待与您交流!------------ 

Foundation框架

  框架是由许多类、方法、函数、文档按照一定的逻辑组织起来的集合,以便使研发程序变得更容易.

  Foundation框架允许使用一些基本对象,如数字和字符串,以及一些对象集合,如数组,字典和集合,其他功能包括处理日期和时间、内存管理、处理文件系统、存储(或归档)对象、处理几何数据结构(如点和长方形)

显示隐藏文件 : defaults write com.apple.finder AppleShowAllFiles –bool true

隐藏隐藏文件 : defaults write com.apple.finder AppleShowAllFiles –bool false


NSString的用法

    1).直接创建方式:

    NSString *str = @"abc";

    2).格式化创建:

    NSString *str = [NSString stringWithFormat:@"%@", @"jack"];

    NSString *str = [[NSString alloc] initWithFormat:@"My age is %d", 10];

    3).文本编码:

    中文 GBK2个字节)     GB23122个字节)

    UTF - 8:国际通用编码(3个字节)

    4). 字符串写入文件:

    //错误对象

    NSError *err;

    [str writeToFile:@"/Users/zhaoxiaohu/Desktop/" atomically:YES  encoding:NSUTF8StringEncoding error:&err];

    5).字符串从文件读取:

    NSString *str = [NSString stringWithContentsOfFile:@"/Users/zhaoxiaohu/Desktop/str.txt" encoding:NSUTF8StringEncoding error:&err];

    6).字符串比较函数:

    NSComparisonResult result = [str1 compare:str2];

    //比较的时候,不区分大小写,参考字符的个数进行比较

    NSComparisonResult result = [str1 compare:str2 options:NSCaseInsensitiveSearch|NSNumericSearch];

    返回值:

    NSOrderedAscendingstr1)升序

    NSOrderedDescending(str1>str2)降序

    NSOrderedSame(str1 = str2)相等

   7). 判读字符串是否相等:

    NSString *str1 = @"abc";

    NSString *str2 = @"abc";

    str1 == str2       比较的是地址  (==比较的是字符串的地址)

    [str1 isEqualToString:str2],比较的是内容,区分大小写(这个方法非常常用)

    8). 检测字符串前后缀:

    NSString *url = @"http://asdfasdfasdfaasdfadsfaf";

    [url hasPrefix:@"http://"] 字符串是否以http:开头

   NSString *imgName = @"logo.jpg";

    [imgName hasSuffix:@".jpg"] 检测字符串是否以.jpg结尾

    9).查找字符串:

    NSString *str = @"asitcastdfafsadfxyz asdfasdfsadfa sadf";

    NSRange range = [str rangeOfString:@"itcast"];

   //NSNotFound 是一个最大的long 无符号数

    //如果查找不到 range.location 是一个最大的long 无符号数

    //range.location 表示字符串首次出现的位置

    //range.length   表示子字符串的长度

    if (range.location != NSNotFound) {

        NSLog(@"位置:%lu,长度:%lu",range.location,range.length);

    }else{

        NSLog(@"没有查找到");

    }

    格式:

        NSRange range = [str1 rangeofString:str2]; //str1 中找str2



NSString的代码实现

#import

void test(){

  //NSString 字符串保存到文件中

    NSString *str = @"zhangsanfeng";

    //文本编码:

    //   中文 GBK  GB2312

    //              3

    //   UTF-8 :国际通用编码

    //          2

    //writeTofile 的方法

    //        str writeToFile:@"文件的路径" atomically:原子性(YES/NO) encoding:NSUTF8StringEncoding error:nil

   //错误对象

    NSError *err;

   [str writeToFile:@"/Users/zhaoxiaohu/Desktop/" atomically:YES encoding:NSUTF8StringEncoding error:&err];

    //writeToFile 方法,如果写入文件成功,err == nil

    //err != nil

    if (err != nil) {

        NSLog(@"写入失败!,%@",err);

    }else{

        NSLog(@"写入成功");

    }

}

int main(int argc, const char * argv[]) {

    @autoreleasepool {

        NSError *err;

        //        NSString *str = [NSString stringWithContentsOfFile:@"待读取的文件的路径" encoding:NSUTF8StringEncoding(编码) error:&err(有没有错误)]

        NSString *str = [NSString stringWithContentsOfFile:@"/Users/zhaoxiaohu/Desktop/str.txt" encoding:NSUTF8StringEncoding error:&err];

        if (err != nil) {

            NSLog(@"读取失败!,%@",err);

        }else{

            NSLog(@"读取成功");

            NSLog(@"%@",str);

        }

     }

    return 0;

 

}


-----------android培训java培训、java学习型技术博客、期待与您交流!------------ 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值