gpt4 book ai didi

用于条件绑定(bind)的 iOS Initializer 必须具有 Optional 类型,而不是 'CGFont' ?

转载 作者:行者123 更新时间:2023-11-29 11:51:32 25 4
gpt4 key购买 nike

当我将 Uber SDK 集成到我的项目中时,我在 swift 2.3 中遇到了这个错误,但我不知道如何解决这个问题。

class FontUtil {
static func loadFontWithName(name: String, familyName: String) -> Bool {
if let path = NSBundle(forClass: FontUtil.self).pathForResource(name, ofType: "otf") {
if let inData = NSData(contentsOfFile: path) {
var error: Unmanaged<CFError>?
let cfdata = CFDataCreate(nil, UnsafePointer<UInt8>(inData.bytes), inData.length)
if let provider = CGDataProviderCreateWithCFData(cfdata) {
if let font = CGFontCreateWithDataProvider(provider) ---> Error found in this line {
if (CTFontManagerRegisterGraphicsFont(font, &error)) {
return true
}
print("Failed to load font with error: \(error)")
}
}
}
}
return false
}}

最佳答案

正如 Eric 所说,CGFontCreateWithDataProvider 函数不再返回 Optional 值,因此您无需将此语句和后续调用包装在 if 可选绑定(bind)。您的代码将更改为:

let font = CGFontCreateWithDataProvider(provider)
if (CTFontManagerRegisterGraphicsFont(font, &error)) {
return true
}
print("Failed to load font with error: \(error)")

关于用于条件绑定(bind)的 iOS Initializer 必须具有 Optional 类型,而不是 'CGFont' ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40945777/

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