黑马程序员---OC学习笔记之Foundation框架:NSString的基本使用

本文介绍了Foundation框架的基础知识,包括其在Mac和iOS开发中的作用,并深入探讨了NSString类的各种实用功能,如文件读写、字符串比较及前后缀检查等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

------Java培训、Android培训、iOS培训、.Net培训--------

一、Foundation框架介绍

1、什么是框架?

1)框架是有许多类、方法、函数、文档按照一定的逻辑组织起来的集合,以便使研发程序变得更容易。在OS X下得Mac操作系统中大约有80个框架为所有程序开发奠定基础的框架称为Foundation框架。

 

2)Coco是Foundation和AppKit

       Cocoa TouchFoundationUIKit

 

3)Foundation框架中大约有将近180个头文件。

#import <Foundation/Foundation.h>

这条指令导入Foundation框架下所有其他头文件

 

4)如果不小心修改了系统的文件,引起了错误

【解决方案】 只要删除XCode的缓存即可

 

 

5)Foundation框架的作用

Foundation 框架是Mac\Ios其他框架的基础

Foundation框架包含了很多开发中常用的数据类型


二、NSString介绍与使用

1、NSString写入到文件中和从文件中读取数据给NSString

- (BOOL)writeToFile:(NSString *)文件路径 atomically:(BOOL)原子性 encoding:(NSStringEncoding)编码方式 error:(NSError **)error;

 

【例如】

 

       //1)把字符串保存到文件中
        NSString *str = @"I amamos";
        NSError *error;
        //把NSString写入到文件中,如果成功error==nil,否则error!=nil
        [str writeToFile:@"str.plist" atomically:YES encoding:NSUTF8StringEncoding error:&error];
       
        //2)从文件中获取数据给NSString
        NSString *str2= [NSString stringWithContentsOfFile:@"str.plist" encoding:NSUTF8StringEncoding error:&error];
        

三、NSString字符串比较

1、字符串比较函数

1)比较字符串大小

//1)比较两个字符串大小
        /*字符串根据排序的不同,会有大小的差异,如果比较两个字符串大小时,用compare方法,有三种返回结果:NSOrderedAscending,NSOrderedSame,NSOrderedDescending
        
        str1 < str2 NSOrderedAscending -1L
        str1 > str2 NSOrderedDescending 1L
         str1 = str2 NSOrderedSame       0
         取出每个字符的ASCII码值进行比较
        */
        NSString *str1 = @"abc";
        NSString *str2 = @"bcd";
        NSComparisonResult result =  [str1 compare:str2];
       
        switch (result) {
            case NSOrderedAscending:
               NSLog(@"str1 > str2升序");
               break;
            case NSOrderedDescending:
               NSLog(@"str1 < str2降序");
               break;
            default:
               NSLog(@"str1 = str2");
               break;
       }


【打印结果】

2015-10-07 22:03:02.092 Foundation秘籍[2720:303] str1 > str2升序


四、NSString前后缀检查


1)判断字符串前缀hasPrefix后缀hasSuffix

     

   //判断前缀:一个字符串是不是网址
        NSString *str = @"http://ios.itcast.com";
       
        if ([str hasPrefix:@"http://"]){
            NSLog(@"%@ 是一个网址",str);
       }
        //判断后缀:一个字符串是不是网址
        if ([str hasSuffix:@"com"]) {
           NSLog(@"%@ 是一个网址",str);
       }

 

2)字符串查找rangeOfString

    

    NSString *str = @"http://ios.itcast.com";
        NSString *subStr = @"ios";
        //查找某个字符串在另一个字符串中首次出现的位置
        //1)如果查找到了会返回子字符串在字符串str中的首次出现位置和长度
        //2)如果找不到会返回一个结果:位置是一个特别大得数(NSNotFound),长度是0
 
        NSRange range =  [str rangeOfString:subStr];
          NSLog(@"start location: %ld,length:%ld",range.location,range.length);

打印结果:

2015-10-07 23:21:50.829 Foundation秘籍[3277:303] startlocation: 7length:3


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值