美文网首页
OC-Foundation等

OC-Foundation等

作者: 萤火虫儿飞_ | 来源:发表于2018-03-31 11:20 被阅读4次

1.【理解】NSMutableString基本概念

NSMutableString是可变字符串,是NSString的子类。

2.【理解】字符串中的可变和不可变

NSMutableString和NSString的区别

NSString是不可变的,里面的文字内容是不能进行修改的。

NSMutableString是可变的,里面的文字内容可以随时更改。

NSMutableString能使用NSString的所有方法

字符串操作

void test()

{

//    str = [str

stringByReplacingOccurrencesOfString:@"a" withString:@"A"];

//    str = [str

uppercaseString];

//    str = [str

lowercaseString];

//    str = [str

capitalizedString];

//   

NSLog(@"%@",str);

}

//比较是否字符串相同

void test2()

{

//    BOOL b = [str

isEqualToString:str1];

//

//   

NSLog(@"%d",b);

}

//比较两个字符串的大小

void test3()

{

//   

NSComparisonResult cc = [str compare:str1];

//   

NSLog(@"%l",cc);

}

//前后缀检查

void test4()

{

//    NSString *preStr

= @"zhu";

//    NSString *sufStr

= @"lei";

//

//    BOOL b = [str

hasPrefix:preStr];

//    BOOL c = [str

hasSuffix:sufStr];

//    if(c)

//    {

//       

NSLog(@"对喽");

//    }

//    else

//    {

//       

NSLog(@"错啦");

//    }

}

//查找字符串

void test5()

{

//    NSString *ranStr

= @"ngl";

//    NSRange range =

[str rangeOfString:ranStr];

//    if(range.location

!= NSNotFound)

//    {

//       

NSLog(@"有啊有啊");

//    }

}

//截取字符串

void test6()

{

    NSString *str1,*str2;

    str1 = [str

substringFromIndex:3];

    str2 = [str

substringToIndex:4];

    NSLog(@"%@",str1);

    NSLog(@"%@",str2);

}

NSMutableString

NSMutableString是可变字符串,是NSString的子类。

NSMutableString和NSString的区别

NSString是不可变的,里面的文字内容是不能进行修改的。

NSMutableString是可变的,里面的文字内容可以随时更改。

NSMutableString能使用NSString的所有方法

NSMutableString操作

              [muStr appendString:@"www"];

        //拼接一段格式字符串

        [muStr appendFormat:@"---%@---",@"嘿嘿嘿" ];

        //删除range范围的字符串

        NSRange range = {6,4};

        [muStr deleteCharactersInRange:range];

        //在loc这个位置中插入aString

        [muStr insertString:@"1314" atIndex:6];

        NSLog(@"%@",muStr);

NSArray

NSArray是OC中的数组类,使用起来更灵活,开发中建议尽量使用NSArray替代C语言中的数组.

【理解】NSArray常见的创建方式:

+ (instancetype)array;

+ (instancetype)arrayWithObject:(

id)anObject;

+ (instancetype)arrayWithObjects:(

id)firstObj,    ...;

+ (instancetype)arrayWithArray:(

NSArray*)array;

+ (

id)arrayWithContentsOfFile:(NSString*)path;

+ (

id)arrayWithContentsOfURL:(NSURL*)url;

// 可以将一个NSArray保存到文件中

- (

BOOL)writeToFile:(NSString*)path 

    atomically:(BOOL)useAuxiliaryFile;

- (

BOOL)writeToURL:(NSURL *)url atomically:(BOOL)atomically;

【理解】NSArray的使用注意事项

1>只能存放任意OC对象,并且是有顺序的。

2>不能存储非OC对象,比如int\float\double\char\enum\struct等。

3> 它是不可变的,一旦初始化完毕后,它里面的内容就永远是固定的, 不能删除里面的元素, 也不能再往里面添加元素.

数组的操作

      //数组的创建与访问

        NSArray *a = @[@"Jack",@"Rose",@"Jim"];

        NSLog(@"%@",a[1]);

  //获取集合元素个数

        NSLog(@"%lu",a.count);

  //获取第三个

        NSLog(@"%@",[a objectAtIndex:2]);

  //是否包含某一个元素

        BOOL b = [a containsObject:@"Jim"];

        if(b)

        {

      NSLog(@"包含");

        }

        else

        {

      NSLog(@"不包含");

        }

  //返回最后一个元素,第一个元素

        NSLog(@"%@",[a lastObject]);

        NSLog(@"%@",[a firstObject]);

  //查找某个元素在数组中的位置

        unsigned long c = [a indexOfObject:@"Rose"] + 1;

        NSLog(@"%lu",c);

//   

NSLog(@"%@",a[1]);

//    //获取集合元素个数

//   

NSLog(@"%lu",a.count);

//    //获取第三个

//   

NSLog(@"%@",[a objectAtIndex:2]);

//    //是否包含某一个元素

//    BOOL b = [a

containsObject:@"Jim"];

//    if(b)

//    {

//       

NSLog(@"包含");

//    }

//    else

//    {

//       

NSLog(@"不包含");

//    }

//    //返回最后一个元素,第一个元素

//   

NSLog(@"%@",[a lastObject]);

//   

NSLog(@"%@",[a firstObject]);

//    //查找某个元素在数组中的位置

//    unsigned long c =

[a indexOfObject:@"Rose"] + 1;

//   

NSLog(@"%lu",c);

  //NSArray数据写入到文件中

        BOOL res = [a writeToFile:@"/Users/badaniao/Desktop/qqq.txt" atomically:YES];

  //从文件中读取数据到NSArray

        NSArray *b = [NSArray

arrayWithContentsOfFile:@"/Users/badaniao/Desktop/qqq.txt"];

        NSLog(@"%@",b);

  //将数组元素链接成字符串

        NSString *c = [b componentsJoinedByString:@"-"];

        NSLog(@"%@",c);

  //字符串分割成一个数组的方法

        NSArray *d = [c componentsSeparatedByString:@"--"];

        NSLog(@"%@",d);

【理解】NSArray给所有元素发消息

让集合里面的所有元素都执行aSelector这个方法

- (void)makeObjectsPerformSelector:(SEL)aSelector;

- (

void)makeObjectsPerformSelector:(SEL)aSelector

withObject:(id)argument;

NSDictionary

1、什么是NSDictionary?

NSDictionary翻译过来叫做”字典”

日常生活中,

    “字典”的作用:通过一个拼音或者汉字,就能找到对应的详细解释。

2、NSDictionary的作用:

类似通过一个key,就能找到对应的value。

NSDictionary是不可变的,一旦初始化完毕,里面的内容就无法修改。

3、NSDictionary的创建

+ (instancetype)dictionary;

+ (instancetype)dictionaryWithObject:(

id)object

forKey:(id)key;

+ (instancetype)dictionaryWithObjectsAndKeys:(

id)firstObject,...;

+ (

id)dictionaryWithContentsOfFile:(NSString*)path;

+ (

id)dictionaryWithContentsOfURL:(NSURL *)url;

4、NSDictionary的常见使用

返回字典的键值对数目

- (NSUInteger)count;

根据key取出value

- (id)objectForKey:(id)aKey;

5、NSDictionary的遍历

1> 快速遍历

for

(NSString *key in dict) { }

2> block遍历

[dict

enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) { }];

NSDictionary操作

  //NSDictionary的创建与获取元素

  NSDictionary *dic = @{@"name":@"Jack",@"sex":@"男"};

        NSLog(@"%@",dic[@"name"]);

  //NSDictionary的文件操作

    BOOL b = [dic writeToFile:@"/Users/badaniao/Desktop/qqq.txt"             atomically:YES];

        // URL:- (BOOL)writeToURL:(NSURL *)url

atomically:(BOOL)atomically;

NSMutableDictionary

1、NSMutableDictionary介绍

什么是NSMutableDictionary ?

NSMutableDictionary是NSDictionary的子类

NSDictionary是不可变的,一旦初始化完毕后,它里面的内容就永远是固定的,

    不能删除里面的元素, 也不能再往里面添加元素

NSMutableDictionary是可变的,随时可以往里面添加\更改\删除元素.

2、NSMutableDictionary的常用方法

添加一个键值对(会把aKey之前对应的值给替换掉)

- (void)setObject:(id)anObject forKey:(id )aKey;

通过aKey删除对应的value

- (void)removeObjectForKey:(id)aKey;

删除所有的键值对

- (void)removeAllObjects;

3、NSMutableDictionary的简写

设置键值对

以前

[dict

setObject:@"Jack" forKey:@"name”];

现在

dict[@"name"]

= @"Jack";

相关文章

  • OC-Foundation等

    1.【理解】NSMutableString基本概念 NSMutableString是可变字符串,是NSString...

  • OC-Foundation

    Foundation 框架是其他所有iOS框架的基础 包含了很多开发中常用的数据类型结构体枚举类 要想使用Foun...

  • 关情纸尾---OC-Foundation框架中常用的类

    一、结构体 二、字符串 三、数组 四、字典 五、NSNumber 六、关于Block简介 posted @ 201...

  • 等、等、等

    等待,都是等待,耐心的、静静的、不急不躁的等待。一大早开车接yuefu去医院就诊,体会等待,等待就是一场修炼修行。...

  • 等、等、等

    长大后,“等”渐渐地也成了一个习惯。不急躁,不抱怨,只是知道等待的那头是希望,是成长。 《等.等》电...

  • 等 等 等

    不知不觉 二月过半 疫情虽犹在 秩序却渐回正常 返程的返程 复工的复工 就连小朋友也在渐渐恢复正常学习规律 小区群...

  • 等   等    等

    校门口的紫叶碧桃 这几日 应该笑靥正红吧 唉,这个春天 只有太阳欣赏她的笑脸了 门房东面的迎春 最近...

  • 等 等

    我在走路,太阳会要了我的命。 直立行走是一件痛苦的事情,我有四肢,确却要架空两支。我拖着诺大的身躯前行。开门,眼里...

  • 《等   等》

    我在等上帝,上帝也在等我;上帝在等我,我也在等上帝; 等月亮在天空泛光等星星在天空闪烁等太阳如勇士奔跃 等我奔跑向...

  • 等,等

    等,等一个暖春 开满了鲜花 盛烂了芬香 等,等一个盛夏 绿荫的草地 铺满了阳光 等,等一个深秋 蝶舞的落叶 积厚了...

网友评论

      本文标题:OC-Foundation等

      本文链接:https://www.haomeiwen.com/subject/kzlgcftx.html