美文网首页
日常开发的小崩溃(1)

日常开发的小崩溃(1)

作者: 厨神小W空男子O | 来源:发表于2017-07-17 10:56 被阅读6次

    开发中有个小需求,一个字符串用没4位用空格间隔处理。

    我的部分代码处理如下:
    NSMutableString *infoText = infoArray[i] ;
    NSString *infoStr;
    NSInteger t = infoText.length / 4;
    for (NSInteger i = 1; i < t +1; i ++) {
    [infoText insertString:@" " atIndex:(5 * i - 1)];
    }
    infoStr = infoText;

    此时出现了崩溃信息:
    error: session_id=D3E90008196E197A45AC240E7E3178C8, context=Attempt to mutate immutable object with insertString:atIndex:
    (null)

    解决办法,仅仅加了两句代码,如下:
    NSMutableString *infoText = [infoArray[i] mutableCopy];
    infoStr = [infoText copy];

    补充:
    copy 与 mutableCopy 这两个方法的区别是:
    1、copy 这个方法是要 拷贝出一 个 不可变的 副本,不改变原始对象的可变性;
    2、mutableCopy 这个方法是要拷贝出一个 可变的 副本,不改变原始对象的可变性。

    相关文章

      网友评论

          本文标题:日常开发的小崩溃(1)

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