gpt4 book ai didi

ios - rangeOfComposedCharacterSequencesForRange 将 0 个字符范围转换为 1 个字符范围

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:44:42 24 4
gpt4 key购买 nike

我不明白为什么在下面的代码中,将要打印的扩展范围是“位置:1,长度:1”。为什么范围长度从 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);

文档说这样做的结果是:

The range in the receiver that includes the composed character sequences in range.

有以下讨论

This method provides a convenient way to grow a range to include all composed character sequences it overlaps.

但是文本@"abc"不包含任何组合字符,这让我认为结果应该是相同的范围,未修改,而且无论如何,我认为长度为 0 的范围不会与任何字符重叠。

这对我来说看起来像是一个错误,但我可能漏掉了一些东西。那是正常的吗?

最佳答案

这可能是一个错误。

rangeOfComposedCharacterSequencesForRange: 的实现只是调用 rangeOfComposedCharacterSequenceAtIndex: 两次,使用范围的开始和结束索引,并返回组合范围。

文档没有明确说明所提供范围边缘的字符从不包括在内,但我同意观察到的行为感觉不对。

你应该file a bug .

关于ios - rangeOfComposedCharacterSequencesForRange 将 0 个字符范围转换为 1 个字符范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15155913/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com