Objective-c中Foundation中的几个常用类1

 使用XCode的提示功能,只需要记住类的名字及常用的函数就好了,其他的函数可以根据提示来查看,按ESC键可以查看该类的函数        

 Foundtion框架 

         Cocoa程序的编写主要要用到两个框架,FoundationApplicationKit(UIKit),其中Foundation框架主要定义了一些基础类,而ApplicationKit主要定义了一些用于Mac开发的几面基础类,而IOS的界面开发主要是用UIKitFoundation框架中的所有类都继承自NSObject,这就是所谓的上帝吧。Foundation主要提供了与图形用户界面没有直接关系的功能的一些类,比如:字符串、数值、容器集合等等相关的类。

         1、有关数字对象的处理

            把数字包装成数字对象

    int age = 24;
    BOOL isMarry = NO;
    float pi = 3.14f;
    //使用类方法,其他的基本数据类型和如下两种方式相同
    NSNumber *myAge = [NSNumber numberWithInt:age];
    NSNumber *aboutMarry = [NSNumber numberWithBool:isMarry];
    //使用初始化方法
    NSNumber *aboutPi = [[NSNumber alloc]initWithFloat:pi];

            把数字对象再转换成基本数据类型

    age = [myAge intValue];
    isMarry = [aboutMarry boolValue];
    pi = [aboutPi floatValue];

         2、字符串的常见应用

            由于oc是基于c的,为了区别起见,oc中的字符串必须以@开头,@后引号内的类容为字符串本身内容

            NSString对象一旦创建就不能再修改,如果想创建一个可以修改的字符串对象,则使用NSMutableString,这里的NSSring好比java中的String类,而NSMutableString类好比javaStringBuffer

        
        //创建一个字符串
        //方法一
        NSString *name = @"Jim Green";
        //方法二
        //创建一个空字符串
        NSString *name1 = [[NSString alloc]init];//实例方法
        
        //创建非空字符串
        NSString *name3 = [[NSString alloc]initWithString:@"Jim Green"];
               
        //有关创建格式化符字符串
        NSString *myself = [[NSString alloc]initWithFormat:@"我是%@,今年%d岁,知道PI的值是%f",name3,age,pi];

有关字符串的比较:

 //以下打印结果为相等
       NSString *str1 = @"niao";
        NSString *str2 = @"niao";
        
        if (str1 == str2) {
            
            NSLog(@"相等");
        }else
            NSLog(@"不相等");
        
        if ([str1 isEqualToString: str2]) {
            
            NSLog(@"相等");
        }else
            NSLog(@"不相等");
        
       //此处的打印结果也相等(在常量区创建)
        NSString *str3 = [[NSString alloc]initWithString:@"ge"];
        NSString *str4 = [[NSString alloc]initWithString:@"ge"];
        
        if (str3 == str4) {
            
            NSLog(@"相等");
        }else
            NSLog(@"不相等");
        
        //此处打印也相等
        if ([str3 isEqualToString: str4]) {
            
            NSLog(@"相等");
        }else
            NSLog(@"不相等");
        
        //********************************************************分界线
        //在堆区创建
        NSString *str5 = [NSString stringWithFormat:@"ni%d",5];
        NSString *str6 = [NSString stringWithFormat:@"ni%d",5];
        
        //此处打印不相等
        if (str5 == str6) {
         NSLog(@"5相等6");
         }else
             NSLog(@"5不相等6");
         //此处打印也相等
        if ([str5 isEqualToString: str6]) {
            NSLog(@"5相等6");
         }else
            NSLog(@"5不相等6");

         分界线以上的无论是==还是isEqualToString都是相等,分界线以下的==打印不相等,isEqualToString打印的是相等,这里用isEqualToString比较相等很容易理解,关于用等号比较

         那是因为用==比较的是对象指针的地址,而不是对象本身

         而分界线以上的对象都是在敞亮区创建的,所以用==比较是相等的

         而分解先以下的是在堆区创建的,所以用==比较是不相等的

         str5str6是在堆区创建了两个对象,所以对象的地址是不同的所以用==比较不同,而对象的内容是相同的,所以isEqualToString比较相同。


 比较字符串的大小

NSString *str7 = @"a";
        NSString *str8 = @"b";
        NSString * str9 = @"A";
        
        NSLog(@"比较结果为:%@",[str7 compare:str8]?@"YES":@"NO");//比较结果为:YES
        //忽略大小写
        NSLog(@"忽略大小写1,%ld",[str7 caseInsensitiveCompare:str8]);//忽略大小写1,-1
        NSLog(@"忽略大小写2,%ld",[str9 caseInsensitiveCompare:str7]);//忽略大小写2,0



评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值