Ios 无法转换类型为';恩斯兰格';到预期的参数类型';NSRangePointer';敏捷的
嗨,我正在尝试从标签中查找角色的CGRect。我发现下面的代码很有用,但代码是在目标C中。我尝试使用Swift语言。以下是目标C代码的快速转换Ios 无法转换类型为';恩斯兰格';到预期的参数类型';NSRangePointer';敏捷的,ios,swift,Ios,Swift,嗨,我正在尝试从标签中查找角色的CGRect。我发现下面的代码很有用,但代码是在目标C中。我尝试使用Swift语言。以下是目标C代码的快速转换 var objLabel:UILabel = UILabel() func getBoundingRectForCharacterRange(range:NSRange) -> CGRect { var objTextStorage = NSTextStorage(attributedString: objLabel.attribute
var objLabel:UILabel = UILabel()
func getBoundingRectForCharacterRange(range:NSRange) -> CGRect {
var objTextStorage = NSTextStorage(attributedString: objLabel.attributedText!)
var objLayoutManager = NSLayoutManager()
objTextStorage.addLayoutManager(objLayoutManager)
var objTextContainer = NSTextContainer(size: CGSizeMake(100,100))
objTextContainer.lineFragmentPadding = 0
objLayoutManager.addTextContainer(objTextContainer)
var objRange:NSRange!
objLayoutManager.characterRangeForGlyphRange(range, actualGlyphRange: objRange)
return objLayoutManager.boundingRectForGlyphRange(objRange, inTextContainer: objTextContainer)
}
我面临着以下错误
can not convert value of type 'NSRange!' to expected argument type 'NSRangePointer' (aka 'UnsafeMutablePointer<_NSRange>')
无法转换“NSRange”类型的值到预期的参数类型“NSRangePointer”(也称为“UnsafeMutablePointer”)
请帮我解决这个问题
我也试着从一个类似的问题的下面,但它也不工作
var range : NSRange?
doSomethingWithRangePointer(&range)
func doSomethingWithRangePointer(range : UnsafeMutablePointer<NSRange?>) {
// Do stuff
}
var范围:NSRange?
DoSomethingWithRange指针(&range)
func doSomethingWithRangePointer(范围:UnsafeMutablePointer){
//做事
}
将对objLayoutManager.characterRangefolyprange()的调用更改如下:
objLayoutManager.characterRangeForGlyphRange(range,
actualGlyphRange: &objRange)
将对objLayoutManager.characterRangefolyprange()的调用更改如下:
objLayoutManager.characterRangeForGlyphRange(range,
actualGlyphRange: &objRange)
另外,
objRange
需要是一个初始化的nsrrange,而不是一个隐式展开的可选项。当我尝试使用&objRange时,它建议我删除添加中的“&”,而objRange
需要是一个初始化的nsrrange,而不是隐式展开的可选项。当我尝试使用&objRange时,它建议我删除“&”请确认,你也在最新的Swift版本作为我的工作。我将Swift 2.2与Xcode 7.2一起使用,并确认您也在使用最新的Swift版本。我使用Swift 2.2和Xcode 7.2