【问题标题】:How does NSString/NSMutableString terminate?NSString/NSMutableString 如何终止?
【发布时间】:2014-09-18 06:17:50
【问题描述】:

在 Objective C 中,我有一个 NSMutableString,我正在使用 characterAtIndex: 方法访问它的字符以进行一些操作。

为此,我还必须像这样检查终止字符:

NSMutableString *str = [[NSMutableString alloc]initWithString:@"hello"];
for(int i = 0; [str characterAtIndex:i] != '???'; i++) // ??? = terminator
     //do something

所以,正如上面的代码所定义的,我对 NSString/NSMutableString 使用的 终止字符 感到困惑。是\0char * 还是别的什么?

对此的任何帮助表示赞赏。

【问题讨论】:

    标签: ios objective-c nsstring nsmutablestring termination


    【解决方案1】:

    没有终结者。您使用length 方法。

    for (NSUInteger i = 0; i < str.length; i++) {
        unichar ch = [str characterAtIndex:i];
        // do stuff
    }
    

    【讨论】:

    • 是的,它工作得很好,但我仍然对编译器如何自己知道哪个是结束感到困惑。假设我们有一个字符串“abc”,那么编译器如何知道“c”是最后一个字符。是不是也用字符串的length来判断?
    • 编译器不知道。这是NSString 类提供的运行时特性。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-30
    相关资源
    最近更新 更多