gpt4 book ai didi

Swift 核心数据变量问题

转载 作者:行者123 更新时间:2023-11-30 10:04:48 25 4
gpt4 key购买 nike

我遇到了一个我无法弄清楚的语法问题。我没有很强的 Swift 背景,所以答案很简单(我希望)。所以,这是片段:

public func getLatestDate()-> NSDate? {

var request = NSFetchRequest()
var entity = NSEntityDescription.entityForName("Event", inManagedObjectContext: self.managedObjectContext)

request.entity = entity

let sortDescriptor = NSSortDescriptor(key: "timeStamp", ascending: false)
let sortDescriptors = [sortDescriptor]

request.sortDescriptors = sortDescriptors

var error: NSError? = nil

do {
let results = try self.managedObjectContext.executeFetchRequest(request)
} catch {
fatalError("Failed to fetch employees: \(error)")
}

var date: NSDate?
if results != nil {
let managedObject: NSManagedObject = results![0] as NSManagedObject
date = managedObject.valueForKey("timeStamp") as? NSDate
}

return date
}

问题是 if results != nil 和下一行的 results 抛出错误,指出:

Use of unresolved identifier 'results'

如何解决这个问题?

谢谢。

-马特

最佳答案

您在此处声明结果:

do {
let results = try self.managedObjectContext.executeFetchRequest(request)
} catch {
fatalError("Failed to fetch employees: \(error)")
}

因此您可以看到它是在 do-catch block 内完成的。这意味着您尝试使用它的位置超出了它定义的范围,因此它根本看不到它。当您到达 if results != nil 时,它已经超出范围并消失了。

关于Swift 核心数据变量问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36609522/

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