FoundationKit介绍

NSString 字符串类型

    NSString *str = @"测试字符串截取功能,今天是6月30日。";
    NSUInteger len = [str length];
    KZKLog(@"str的字符串长度是 %zd", len);

    NSString *str1 = [NSString stringWithFormat:@"测试字符串截取功能,今天是6月%d日。",30];
    if ([str isEqualToString:str1]) {
        KZKLog(@"str等于str1");
    }
    // 不同于
    if (str == str1) {
        KZKLog(@"str等于str1");
    }
    // 这是因为 == 运算符只判断str和str1的指针数值,而不是他们所指的对象。由于str和str1是不同的字符串,所以第二种比较方式会认为他们是不同的。
    NSString *fileName = @"product-test.jpg";
    // 检查字符串是否以product开头
    if ([fileName hasPrefix:@"product"]) {
        // 这是一张图片
    }
    // 判断字符串是否以.mov结尾
    if ([fileName hasSuffix:@".mov"]) {
        // 这是一个视频
    }

    NSRange ran = [fileName rangeOfString:@"test"];
    // 返回的ran.location为8,ran.length为4。
    // 如果传递的参数在接收的参数中没有找到,那么ran.location则等于NSNotFound.

NSArray 集合类型

    NSArray *array = [NSArray arrayWithObjects:@"test1",@"test2",@"Test3",@"Test4", nil];
    // 等同于
    NSArray *array2 = @[@"test1",@"test2",@"Test3",@"Test4"];
    // 使用字面量语法时不必在结尾处特意补上nil。
  • 拆分和合并NSArray
    // 使用-componentsSeparatedByString: 可以切分NSArray
    NSString *string = @"C:C++:C#:Java:Python:Swift:PHP";
    NSArray *array = [string componentsSeparatedByString:@":"];
    // 还可以用componentsJoinedByString: 来合并NSArray中的元素并创建字符串
    string = [array componentsJoinedByString:@""];
    // string最后的输出结果为“C:-)C++:-)C#:-)Java:-)Python:-)Swift:-)PHP”;
  • 快速枚举
    // 通过索引遍历   只有在真的需要用索引访问数组时才应用索引遍历,如跳跃浏览数组或同时遍历多个数组
    for (NSInteger i = 0; i < array.count; i++) {
        NSLog(@"我知道的编程语言 %@", array[i]);
    }
    // 快速枚举遍历   通过快速枚举,执行操作要一项项的线性完成
    for (NSString *str in array) {
        NSLog(@"我了解的编程语言 %@", str);
    }
    // 代码块遍历  通过代码块可以让循环操作并发执行
    [array enumerateObjectsUsingBlock:^(id  _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
        NSLog(@"我了解的计算机编程语言 %@", obj);
    }];

results matching ""

    No results matching ""