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/