iphone - 为什么这个论点中有一个 for 循环

标签 iphone objective-c ios xcode

    for (int i=0; i<[rawNumber length]; i++) {
        NSString* chr = [rawNumber substringWithRange:NSMakeRange(i, 1)];
        if(doesStringContain(@"0123456789", chr)) {
            telNumber = [telNumber stringByAppendingFormat:@"%@", chr];
        }
    }

这是什么逻辑?这个参数返回什么?

最佳答案

看起来它正在剥离所有非数字字符,为您提供一个普通的旧电话号码。

我想 telNumber 是在此循环之前定义的,并在其他地方使用 telNumber 的值。

假设 rawNumber 包含以下值:(987)-654-3210。 for 循环总共运行 14 次,因为这是 rawNumber 的长度。每次通过,代码获取单个字符 - 第一次获取第一个字符,第二次获取第二个字符,等等。每次通过循环,代码检查字符是否在字符串 0123456789;如果是,则代码将该字符附加到 telNumber 变量。如果该字符不在数字列表中(如果它是 ()- 在我们的示例中),那么它就会被丢弃。

关于iphone - 为什么这个论点中有一个 for 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7100851/

相关文章:

ios - 在实体异常中找不到 keypath objectID

ios - 调整 UIImage 的大小会导致 UIImage 的数据大小增加

objective-c - 如何使用 Objective C 返回 CGPoints 数组

ios - 如何在右侧显示助理编辑器

javascript - "position:fixed;bottom:0;"在 iPhone 中不起作用

iphone - iPhone应用程序可以生成Web剪辑吗?

html - 将 HTML 文本分配给 NSAttributedString 会在全局队列上抛出 EXC_BAD_ACESS

ios - UISnapBehaviour 仅在 x 轴上

iOS6中的iOS行车路线

iphone - 将 UITableViewCell 中的 UITextField 保存到 NSMutableArray