• Objective的字符串拼接 似乎没有Swift方便,但也可以制做一些较为方便的写法


        NSString *str1 = @"字符串1";
        NSString *str2 = @"字符串2";
        //在同样条件下,Objective的字符串拼接 往往只有用 系统方法/格式化
    
        //way 1 格式化
        NSString *fullStr = [NSString stringWithFormat:@"%@%@",str1,str2];
        //way 2 使用方法追加
        NSString *fullStr = [str1 stringByAppendingString:str2];

    但有没有发现,无论是用哪种方法拼接,都是一串长长的代码,远远不及swift(不只是swift,还有其他语言也还是)的灵活性

        //这是swift的
    let str1 = "aaa" let str2 = "bbb" let fullStr = str1 + str2

    有没有办法可以把Objective-C的字符串拼接更加简洁呢?

    用链式语法是可以的

    首先新建一个category,我们要给NSString加入一个get方法

    链式语法就是用block来传入参数并执行相关操作,具体原理就不说了

    在category中的interface加入一个property

    @property (nonatomic,readonly) NSString *(^add)(NSString* str);

    这里我们只需要做readonly(没有set方法)

    实现方法

    - (NSString *(^)(NSString *))add{
        return ^(NSString *str){
            return [self stringByAppendingString:str];
        };
    }

    那么我拼接只需要

        NSString *str1 = @"字符串1";
        NSString *str2 = @"字符串2";
        NSString *fullStr = str1.add(str2);

    即可

  • 相关阅读:
    vtk体绘制时采样的起点使用噪声纹理来进行扰动
    转:轻松搞死VS
    虚拟华师(UDK)
    虚拟手术中的血流模拟(Physx+OpenGL)
    要找工作了,研究工作得暂停了
    MC+多个emitter成功把撕裂场景基本解决了
    鸭梨很大
    这世界好人多啊
    JS代码的格式化和压缩
    FusionCharts使用实例
  • 原文地址:https://www.cnblogs.com/n1ckyxu/p/5604438.html
Copyright © 2020-2023  润新知