为什么这个字符串是不可变的?

大卫

为什么代码会给出错误-尝试使用appendFormat:对不可变对象进行突变?

NSMutableDictionary *dict = [[NSMutableDictionary alloc] init];

for (NSTextTestingResult *match in matches) {
    <omitted>
    NSMutableString *value;
    value = (NSMutableString *)[response stringWithRange:range];
    if ([dict objectForKey:@"traveler"])
        [dict objectForKey:@"traveler"] appendFormat:@"%@", value];     //  Errors here

[dict setObject:value forKey:key];
}

值被创建为_NSCFString

伊恩·亨利(Ian Henry)

因为[response stringWithRange:range]返回一个不可变的NSString *,并且强制转换不会使它变得可变。

你要value = [[response stringWithRange:range] mutableCopy];

请注意,如果您不使用ARC,则需要记住释放mutableCopy尽管的返回值[response stringWithRange:range]是自动释放的,但mutableCopy不是。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么这个字符串不是日期

来自分类Dev

为什么最后一个字符是“?” 在这个字符串函数中

来自分类Dev

为什么我得到的这个字符串值是nil?

来自分类Dev

为什么这个字符串如此奇怪,对他来说没有记忆?

来自分类Dev

为什么这个字符串值为空?

来自分类Dev

为什么正则表达式不匹配这个字符串

来自分类Dev

为什么 strtok 不能正确分隔这个字符串?C

来自分类Dev

这个字符串的日期格式是什么?

来自分类Dev

为什么这个字符串匹配,即使它的一部分是负前瞻

来自分类Dev

为什么sscanf跳过每个字符串的前4个字符?

来自分类Dev

在收集()流的终端操作,如果供应商就像是一个字符串不可变对象会发生什么?

来自分类Dev

为什么要构造具有多个字符串文字的字符串?

来自分类Dev

如何串这个字符串

来自分类Dev

请问这个字符串数组是什么

来自分类Dev

这个字符串代表 serv_addr 缓冲区的格式是什么?

来自分类Dev

这个字符串反转背后的逻辑是什么?

来自分类Dev

我怎么匹配这个字符串

来自分类Dev

如何使这个字符串的数组?

来自分类Dev

这个字符串对象创建迅速吗?

来自分类Dev

如何匹配这个字符串模式?

来自分类Dev

Java - 如何验证这个字符串?

来自分类Dev

为什么用单个字符而不是单个字符串填充PSCustomObject?

来自分类Dev

为什么我的字符串在php中的2995个字符后停止

来自分类Dev

Python:为什么字符串的每个字符都在换行符上

来自分类Dev

为什么要重复源字符串的最后四个字符

来自分类Dev

为什么通过计算字符的异或比较两个字符串?

来自分类Dev

为什么np.array([1,“ a”])消耗21个字符的Unicode字符串?

来自分类Dev

为什么我无法使用索引访问字符串单个字符

来自分类Dev

当字符串有 26 个字符时,为什么 sizeof(str) 8?

Related 相关文章

  1. 1

    为什么这个字符串不是日期

  2. 2

    为什么最后一个字符是“?” 在这个字符串函数中

  3. 3

    为什么我得到的这个字符串值是nil?

  4. 4

    为什么这个字符串如此奇怪,对他来说没有记忆?

  5. 5

    为什么这个字符串值为空?

  6. 6

    为什么正则表达式不匹配这个字符串

  7. 7

    为什么 strtok 不能正确分隔这个字符串?C

  8. 8

    这个字符串的日期格式是什么?

  9. 9

    为什么这个字符串匹配,即使它的一部分是负前瞻

  10. 10

    为什么sscanf跳过每个字符串的前4个字符?

  11. 11

    在收集()流的终端操作,如果供应商就像是一个字符串不可变对象会发生什么?

  12. 12

    为什么要构造具有多个字符串文字的字符串?

  13. 13

    如何串这个字符串

  14. 14

    请问这个字符串数组是什么

  15. 15

    这个字符串代表 serv_addr 缓冲区的格式是什么?

  16. 16

    这个字符串反转背后的逻辑是什么?

  17. 17

    我怎么匹配这个字符串

  18. 18

    如何使这个字符串的数组?

  19. 19

    这个字符串对象创建迅速吗?

  20. 20

    如何匹配这个字符串模式?

  21. 21

    Java - 如何验证这个字符串?

  22. 22

    为什么用单个字符而不是单个字符串填充PSCustomObject?

  23. 23

    为什么我的字符串在php中的2995个字符后停止

  24. 24

    Python:为什么字符串的每个字符都在换行符上

  25. 25

    为什么要重复源字符串的最后四个字符

  26. 26

    为什么通过计算字符的异或比较两个字符串?

  27. 27

    为什么np.array([1,“ a”])消耗21个字符的Unicode字符串?

  28. 28

    为什么我无法使用索引访问字符串单个字符

  29. 29

    当字符串有 26 个字符时,为什么 sizeof(str) 8?

热门标签

归档