我曾經遇到過一個非常奇怪的現象:NSString爲空,長度= 1?
NSLog(@"substring: '%@'\t- length: %d",substring,substring.length);
回報
substring: '' - length: 1
的字符串變量是一個NSString的對象。
有人能請解釋一下到底是怎麼回事......
編輯::解決
艾米回答:
它的印刷有不可見字符:
ZERO WIDTH JOINER Unicode:U + 200D,UTF-8:E2 80 8D
if ([substring isEqualToString:@"\u200d"]) {
NSLog(@"It is a ZERO WIDTH JOINER...");
}
並感謝菲利普的提示。
'substring'是什麼?它可能是一個零寬度字符? (例如http://www.fileformat.info/info/unicode/char/200b/index.htm) – mattjgalloway
如果你使用NSLog(@「Character value:%d」,[substring characterAtIndex:0]),會發生什麼? '? –
實際上,如果你的數組長度爲0而不是'''',它會返回'(nil)'。 – 2012-05-30 13:51:28