作为练习,我正在使用Swift重写我的一个应用程序.
在Objective-C中,我有以下代码行:
NSRange extendedRange = NSUnionRange(range, [[self.backingStore string]lineRangeForRange:NSMakeRange(NSMaxRange(range), 0)]);
Run Code Online (Sandbox Code Playgroud)
在swift中它看起来像这样:
let str = backingStore.string
let extendedRange: NSRange = NSUnionRange(range, str.lineRangeForRange(NSMakeRange(NSMaxRange(range), 0)))
Run Code Online (Sandbox Code Playgroud)
但是,由于某种原因,我得到'Int'与'String.Index'不同,我无法弄清楚为什么.任何帮助/见解将不胜感激.
如果我桥接我的字符串,它的工作原理:
let str = backingStore.string
let extendedRange: NSRange = NSUnionRange(range, str.bridgeToObjectiveC().lineRangeForRange(NSMakeRange(NSMaxRange(range), 0)))
Run Code Online (Sandbox Code Playgroud)