gpt4 book ai didi

ios - 无法将类型 'NSRange!' 的值转换为预期的参数类型 'NSRangePointer' Swift

转载 作者:搜寻专家 更新时间:2023-11-01 05:44:11 25 4
gpt4 key购买 nike

<分区>

您好,我正在尝试从标签中查找角色的 CGRect。我发现以下 How do I locate the CGRect for a substring of text in a UILabel?很有用,但代码在 Objective C 中。我尝试使用 Swift 语言。以下是 Objective C 代码的 Swift 转换

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>')

请帮我解决问题。

我还尝试从一个类似问题的 answer 开始关注但它也不起作用

var range : NSRange?
doSomethingWithRangePointer(&range)

func doSomethingWithRangePointer(range : UnsafeMutablePointer<NSRange?>) {
// Do stuff
}

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