首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有没有为CoreData UUID对象创建二维码的方法?

有没有为CoreData UUID对象创建二维码的方法?
EN

Stack Overflow用户
提问于 2020-12-09 23:12:01
回答 1查看 88关注 0票数 1

我正在尝试为UUID创建二维码,但主要的阻碍是,我在创建二维码时看到的方法需要使用字符串而不是UUID,所以这就是我想要的。

代码语言:javascript
复制
var uuid: UUID
var uuidString: {uuid} //cannot convert return expression of type 'UUID' to return type 'String'

另一种选择是

代码语言:javascript
复制
var uuid = UUID().uuidString

但后来我在练习中尝试使用qr生成算法时,出现了错误(下面是完整的qr生成代码)

代码语言:javascript
复制
import SwiftUI
import CoreImage.CIFilterBuiltins

struct QrCodeGen : View {
    let context = CIContext()
    let filter = CIFilter.qrCodeGenerator()
    var uuid = UUID().uuidString
    var body : some View {
        Image(uiImage: createQrCodeImage(uuid))
    }
    
    func createQrCodeImage(_ uuid: String) -> UIImage{
        let data = Data(uuid.utf8)
        filter.setValue(data, forKey: "inputMessage")
        if let qrCodeImage = filter.outputImage{
            if let qrCodeCGImage = context.createCGImage(qrCodeImage, from: qrCodeImage.extent){
                return UIImage(cgImage:  qrCodeCGImage)
            }
        }
            return UIImage(systemName: "xmark") ?? UIImage()
    }
    
}

生成qr的用法:

代码语言:javascript
复制
NavigationLink(destination: QrCodeGen(uuid: Item.itemid)) //error: Value of type "NSManagedObject" has no member itemid

但后来,当显示Item.itemid的文本时,一切都很好,可以识别Reeboting,重新启动我的机器并重新启动Xcode也解决了这个问题。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-12-10 01:04:53

此代码用于返回UUID的UUIDString:

代码语言:javascript
复制
struct TestUUID {
    var uuid: UUID
    var uuidString: String {return uuid.uuidString}
}

let aTestUUID = TestUUID(uuid: UUID())

print(aTestUUID.uuidString)

我不清楚你在问题的第二部分问了什么。你得到了什么错误?

("It It error“没有多大帮助)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65219490

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档