我不明白爲什麼在下面的代碼中,將打印的擴展範圍是 「location:1,length:1」。爲什麼範圍長度從0延伸到1?rangeOfComposedCharacterSequencesForRange將0字符範圍轉換爲1個字符範圍
NSString * text = @"abc";
NSRange range = NSMakeRange(1, 0);
NSRange extendedRange = [text rangeOfComposedCharacterSequencesForRange:range];
NSLog(@"extended range: location %d, length : %d ",extendedRange.location,extendedRange.length);
的文檔說,這樣做的結果是:
在包括組合字符在範圍 序列的接收器的範圍內。
與下面的討論
This method provides a convenient way to grow a range to include all composed character sequences it overlaps.
但文字@「ABC」不含任何組合字符,這讓我覺得結果應該是相同的範圍內,修改,無論如何,我會認爲長度爲0的範圍不會與任何字符重疊。
這看起來像一個錯誤,但我可能錯過了一些東西。這是正常的嗎?
要鏈接到的文檔不是rangeOfComposedCharacterSequencesForRange中的一個。你認爲這是相互聯繫的嗎? – madewulf 2013-03-01 11:07:48
鏈接適用於我,所有的方式,如果你去NSString的文檔,然後搜索'rangeOfComposedCharacterSequencesForRange:'你會發現它,你也可以從組織者 – tkanzakic 2013-03-01 11:15:11
做到這一點我看不到一個長度範圍0可以重疊任何東西。它對我來說聽起來像是一個bug。 – madewulf 2013-03-01 11:32:19