黑马程序员--iOS--Objective-C基础 (Foundation框架 一 )

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------

什么是框架

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

Foundation框架的作用

Foundation框架是Mac \iOS中其他框架的基础

Foundation框架包含了很多开发中常用的数据类型:  结构体   枚举    类

NSString 介绍和基本使用

NSString *str = @"abcd";  //这种写法,字符串存储在内存的常量区

<span style="font-size:12px;"> 
 NSString *str2 = [NSString  stringWithFormat:@"----->:%@",@"rose"];
        
    NSLog(@"%@",str2);
</span>
                         //这种方式存储在内存的堆区
写入文件中
<span style="font-size:12px;">#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        
        NSString  *str = @"abcd";
        
        
       //错误对象
        NSError *err;
        
        [str writeToFile:@"/Users/Y_sir/Desktop/abcd.txt" atomically:YES encoding:NSUTF8StringEncoding error:&err];
        
        if (err != nil) {
            
            NSLog(@"write in defeated");
            
        }else{
        
        
         NSLog(@"write in successed");
        
        
        }
        
    }
    return 0;
}
</span>
从文件中读取
<span style="font-size:12px;">#import <Foundation/Foundation.h>


int main(int argc, const char * argv[]) {
    @autoreleasepool {
        
        //错误对象
        NSError *err;
        
        NSString  *str = [NSString  stringWithContentsOfFile:@"/Users/Y_sir/Desktop/abcd.txt" usedEncoding:NSUTF8StringEncoding error: &err];
        

            if (err!= nil) {
        
                NSLog(@"write in defeated");
        
            }else{
        
        
                NSLog(@"write in successed");
                
                NSLog(@"str = %@",str);
                
                
            }

    }
    return 0;
}</span>
NSURL 读写字符串

url (uniform  resource  locator) 统一资源定位符

<span style="font-size:12px;">#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
    @autoreleasepool {
      
        NSString  *str  = @"heelo world";
       //NSURL 写入文件
//        NSURL  *url = [NSURL  URLWithString:@"file:///Users/Y_sir/Desktop/url.txt"];
        
        NSURL  *url = [NSURL  fileURLWithPath:@"/Users/Y_sir/Desktop/url1.txt"];
        
        if ([str  writeToFile:url atomically:YES encoding:NSUTF8StringEncoding error:nil]) {
            
            NSLog(@"write in succsessed !");
            
        }else{
        
           NSLog(@"write in defeated !");
        
        
        }
        
        NSString  *str1 = [NSString  stringWithContentsOfURL:url encoding:NSUTF8StringEncoding error:nil];
        
        NSLog(@"%@",str1);
        
    }
    return 0;
}
</span>
NSMutableString 的使用

NSMutableString继承自NSString 。NSMutableString 好比一个字符串链表,他可以任意动态的在字符串中添加字符 删除字符 指定位置插入字符。

<span style="font-size:12px;">#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        
        NSString *str2 = [NSString  stringWithFormat:@"----->:%@",@"rose"];
        
        NSLog(@"%@",str2);
        
        NSMutableString  *str = [NSMutableString   string ];
        //使用 appendFormat 格式化添加字符串  //appendString
        [str  appendFormat:@"hello  world"];
        
        NSLog(@"%@",str);
        //使用 deleteCharactersInRange 删除一部分内容
        [str  deleteCharactersInRange:NSMakeRange(2, 2)];
        NSLog(@"%@",str);
        
        //使用 insertString 插入字符串
        [str  insertString:@"asdf**" atIndex:4];
         NSLog(@"%@",str);
        
        //使用 replaceCharactersInRange 替换字符串的一部分内容
        [str  replaceCharactersInRange:NSMakeRange(2, 5) withString:@"123"];
         NSLog(@"%@",str);
    }
    return 0;
}</span>
NSArray 的介绍和基本使用

NSArray是OC中的数组类

NSArray的使用注意

      1)只能存放任意的OC对象,并且是有序的(有序的下标)

      2)不能存放非OC对象,比如 int \float \double \char \enum \struct \

      3)是不可变的,一旦初始化完毕,内容就是固定的

<span style="font-size:12px;">#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        
        NSArray  *array = [NSArray  array];
        
        NSLog(@"%@",array);
        //一个对象
        NSArray  *array1 =  [NSArray  arrayWithObject:@"1"];
        
        NSLog(@"%@",array1);
        //多个对象
        NSArray  *array2 = [NSArray  arrayWithObjects:@"ere",@"44",@"dsfdsfsdfsdf", nil];
        
        NSLog(@"%@",array2);
        
        NSArray  *array3 = [[NSArray  alloc]  initWithObjects:@"fd",@"dfdfd",@3, nil];
        
        NSLog(@"%@",array3);
        
        
        
    }
    return 0;
}
</span>
NSArray 的使用

<span style="font-size:12px;">#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
    @autoreleasepool {
       
        NSArray *array = @[@1,@"3",@"gjhgj"];
        
        NSString  *str =[array  objectAtIndex:2];//按下标取出每个对象
        
        NSLog(@"%@",str);
  
    }
    return 0;
}
</span>

NSDictionary的介绍和使用

NSDictionary 一般叫做“字典”
NSDictionary 的作用与字典类似: 通过一个key,就能找到相应的value

<span style="font-size:12px;">#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        //创建一个空字典
        NSDictionary *dic = [NSDictionary   dictionary];
           NSLog(@"%@",dic);
        //只有一个键值对的字典
        NSDictionary  *dic1 = [NSDictionary   dictionaryWithObject:@"value" forKey:@"key"];
        
        NSLog(@"%@",dic1);
           //只有多个键值对的字典
        NSDictionary  *dic2 = [NSDictionary  dictionaryWithObjectsAndKeys:@"value1",@"key1",@"value2",@"key2" ,nil];
          NSLog(@"%@",dic2);
        //快速创建字典
        NSDictionary  *dic3 = @{@"key1":@"12",@"key2":@"34",@"key3":@"45"};
        
            NSLog(@"%@",dic3);
        //获取字典的长度
            NSLog(@"%lu",dic3.count);
        
        //根据key值取出value值
       NSString *str = [dic3    objectForKeyedSubscript:@"key1"];
        
        NSLog(@"%@",str);
        //字典的遍历
        for (NSString *key in dic3) {
            NSLog(@"key = %@, value = %@",key,[dic3  objectForKeyedSubscript:key]);
        }
        
        [dic3  enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) {
            NSLog(@"%@----->%@",key,obj);
        }];
        
    }
    return 0;
}
</span>
NSDictionary的简写

<span style="font-size:12px;">#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
    @autoreleasepool {
       
        NSDictionary  *dict = @{@"key1":@"11",@"key2":@"22",@"key3":@"33"};
        
        NSLog(@"%@",dict[@"key1"]);
        
        //写入文件
        
        BOOL write = [dict  writeToFile:@"/Users/Y_sir/Desktop/dictionary.xml" atomically:YES];
        
        if (write) {
            
            NSLog(@"write in successed");

        }else{
        
            NSLog(@"write in  defeated");
        
        }
       
    }
    return 0;
}
</span>
NSMutableDictionary 的介绍和使用

NSMutableDictionary 是NSDictionary 的子类

NSMutableDictionary是可以改变的,可以随时向里面添加 \更改\ 删除元素
NSDictionary 和 NSArray 的区别:

1)NSArray 是有序的,NSDictionary 是无序的

2)NSArray 是通过下标访问元素的,NSDictionary 是通过key来访问元素

<span style="font-size:12px;">#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        //创建
        NSMutableDictionary   *mdict = [NSMutableDictionary  dictionary];
        NSMutableDictionary   *mdict1 = [NSMutableDictionary  dictionaryWithCapacity:4];
        [mdict  setValue:@"21" forKey:@"key1"];
        [mdict  setValue:@"34" forKey:@"key2"];
        [mdict  setValue:@"67" forKey:@"key3"];
             NSLog(@"%@",mdict);
        //删除
        [mdict  removeObjectForKey:@"key1"];
        
             NSLog(@"%@",mdict);
        //删除所有
//        [mdict  removeAllObjects];
//        NSLog(@"%@",mdict);
        //修改
        [mdict  setObject:@"24242" forKey:@"key2"];
        
        
        NSLog(@"%@",mdict);
        //查找
        NSArray *array = [mdict allKeys];
        
        if ([array containsObject:@"key2"]) {
            
            NSLog(@"cunzai");
            
        }else{
        
        NSLog(@"bu cunzai");
        }
        
        
    }
    return 0;
}</span>

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值