关闭

Foundation框架之NSMutableString、NSMutableArray和NSDictionary

标签: objective-cNSDictionary
111人阅读 评论(0) 收藏 举报
分类:

一、NSMutableString

NSMutableStringNSString的子类,相当于是一个字符串链表可以动态的在字符串中添加字符串、删除字符串、插入字符串等,能够较为灵活的操纵字符串。另外,NSString中的方法NSMutableString都可以使用。

1.NSMutableStringNSString的区别:

1)NSString是不可变字符串(即占用的存储空间固定,里面的内容不能进行修改),里面的内容不可进行修改

2)NSMutableString是可变的(占用的存储空间不固定,可以动态变化,里面的内容可以修改),里面的内容可以根据需要随时进行修改

2.常用用法:

NSMutableString的创建、字符串拼接

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
    //定义一个NSMutableString
    NSMutableString *s1 = [NSMutableString string];
    //从字符串末添加一个字符串
    [s1 appendString:@"这是一个可变字符串!"];
    NSUInteger a = s1.length;
    //凭借一段格式化字符串到字符串末
    [s1 appendFormat:@"有%ld个字符。", a];
    NSLog(@"%@",s1);
    return 0;
}
删除字符串中的指定字符串、或指定位置的字符串、在指定位置插入字符串、替换字符串中的某段字符串

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
    //定义一个NSMutableString
    NSMutableString *s1 = [NSMutableString string];
    //从字符串末添加一个字符串
    [s1 appendString:@"这是一个可变字符串!"];
    //删除可变字符串中“字符串!”这个子字符串,通常搭配rangeOfString使用
    NSRange range = [s1 rangeOfString:@"字符串!"];
    [s1 deleteCharactersInRange:range];
    //在指定位置插入字符串
    [s1 insertString:@"字符串!" atIndex:6];
    //替换字符串中的指定字符串
    [s1 replaceCharactersInRange:NSMakeRange(0, 2) withString:@"这就是"];
    NSLog(@"%@",s1);
    return 0;
}
二、NSMutableArray

主要用法

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
    //创建NSMutableArray
    NSMutableArray *array = [NSMutableArray array];
    NSMutableArray *array1 = [NSMutableArray arrayWithObjects:@"jim", @"rose", nil];
    //向NSMutableArray中添加元素
    [array addObject:@"jack"];
    //删除指定位置的元素
    [array1 removeObjectsAtIndexes:[NSIndexSet indexSetWithIndex:1]];
    NSLog(@"%@",array1);
    return 0;
}
三、NSDictionary

主要用法

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
    //创建一个NSDictionary对象
    NSDictionary *dic = [NSDictionary dictionaryWithObject:@"jack" forKey:@"name"];
    NSArray *keys = @[@"name",@"age"];
    NSArray *objs = @[@"jack",@"20"];
    NSDictionary *dic1 = [NSDictionary dictionaryWithObjects:objs forKeys:keys];
    //编译器特性,快速创建NSDictionary
    NSDictionary *dic2 = @{@"name" : @"jack", @"age" : @"20"};
    //取出key对应的value
    id obj = [dic objectForKey:@"name"];
    id obj1 = dic1[@"age"];
    //取出dictionary中键值对的对数
    NSInteger a = dic2.count;
    return 0;
}

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:1980次
    • 积分:185
    • 等级:
    • 排名:千里之外
    • 原创:17篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章分类
    文章存档