for (int i=0; i<[rawNumber length]; i++) {
NSString* chr = [rawNumber substringWithRange:NSMakeRange(i, 1)];
if(doesStringContain(@"0123456789", chr)) {
telNumber = [telNumber stringByAppendingFormat:@"%@", chr];
}
}
这是什么逻辑?这个论点的回归是什么?
答案 0 :(得分:5)
看起来它正在剥离所有非数字字符,为您提供一个普通的旧电话号码。
我想telNumber是在这个循环之前定义的,并且在其他地方使用了telNumber的值。
让我们说rawNumber
保持以下价值:(987)-654-3210
。 for循环总共运行14次,因为这是rawNumber
的长度。每次通过时,代码都会获得一个字符 - 第一次获取第一个字符,第二次获取第二个字符等。每次循环时,代码都会检查字符是否在字符串0123456789
中;如果是,则代码将该字符附加到telNumber变量。如果字符不在数字列表中(如果在我们的示例中为(
或)
或-
),那么它就会被丢弃。