gpt4 book ai didi

ios - 从 [Message] 到 [Message] 的条件转换总是成功

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

if let context = delegate?.managedObjectContext {


do {

let fetchRequest = NSFetchRequest<Message>(entityName: "Message")

let messages = try(context.fetch(fetchRequest) as? [Message])

This gives me the error "conditional cast from [Message] to [Message] always succeeds"

            for message in messages! {
context.delete(message)

}
try(context.save())

} catch let err {
print (err)
}

Can someone help me understand what I'm doing wrong?

最佳答案

在 swift 3 之前,context.fetch() 只返回一个 [AnyObject]。这就是为什么你必须那样投它。

但现在在 Swift 3 中,NSFetchRequest 类变成了泛型,context.fetch() 将返回您在创建获取请求时指定的泛型类型的数组。现在类型安全得多。

因此,您不再需要将其转换为您想要的类型,因为它已经是该类型了!

let messages = try context.fetch(fetchRequest)

关于ios - 从 [Message] 到 [Message] 的条件转换总是成功,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40341017/

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