【问题标题】:How do I add a character to an already existing string?如何将字符添加到已经存在的字符串?
【发布时间】:2012-10-17 20:31:33
【问题描述】:

当我制作时:

NSString x = @"test"

如何编辑它以使其成为“测试”?

当我输入:

NSMutableString x = [[NSMutableString alloc] initWithString:@"test"];

有一个错误提示:

Initializer 元素不是编译时常量。

谢谢

【问题讨论】:

    标签: objective-c ios xcode nsstring nsmutablestring


    【解决方案1】:

    在声明NSMutableString 时,您错过了星号:

    NSMutableString *x = [[NSMutableString alloc] initWithString:@"test"];
    // Here --------^
    

    手头有一个可变字符串,你可以这样做

    [x appendString:@"ing"];
    

    使x 等于testing

    您不必通过可变字符串 - 这也可以:

    NSString *testing = [NSString stringWithFormat:@"%@ing", test];
    

    【讨论】:

    • 我刚才加了星号,还是一样的错误
    • @NikitaJerschow 你能发布一个更大的代码 sn-p 吗?听起来您在函数范围之外声明此变量(例如“全局”)。它不像 Objective C 那样工作:你需要把初始化放在一个函数中。
    • 即使我直接复制并粘贴您的代码,错误仍然存​​在让我发布一些内容
    • @NikitaJerschow 现在我几乎可以肯定你是在函数之外做的。
    • @NikitaJerschow 是的,这样的初始化需要放在您拥有的函数之一的花括号内,例如,您的 init 方法。看看这个答案 (link) 了解它是如何完成的。
    【解决方案2】:

    您需要将您的NSStringNSMutableString 声明为*x。这些是指向对象的指针。

    在代码中更改字符串非常简单,例如:

    NSString *test = @"Test";
    test = [test stringByAppendingString:@"ing"];
    

    test 中的值现在将是 Testing

    有很多很棒的NSString 方法,包括实例方法和类方法,用于操作和处理字符串。查看文档以获取完整列表!

    【讨论】:

      【解决方案3】:

      如果您想向现有的 NSString 添加多个或单个字符串,请使用以下

      NSString *x =  [NSString stringWithFormat:@"%@%@", @"test",@"ing"];
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-03-09
        • 2023-04-03
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多