Daw*_*awy 2 init swiftui fetchrequest
我的 SwiftUI 项目中有以下代码
@FetchRequest private var step: FetchedResults<Steps>
private var processID: UUID
private var stepID: UUID?
init(procID: UUID, stepID: UUID?) {
if stepID != nil {
let predicate = NSPredicate(format: "id == %@", stepID! as CVarArg)
_step = FetchRequest<Steps>(sortDescriptors: [], predicate: predicate)
}
processID = procID
}
Run Code Online (Sandbox Code Playgroud)
我想知道是否可以以某种方式从 init() 返回空步骤 FetchRequest,以防传递的 stepID 为零。当前未编译它,因为步骤 var 未初始化。我试图使其成为可选的,但编译器不喜欢它。
你总是可以返回FALSEPREDICATE
if stepID
is nil。这将为您提供一个空的@FetchRequest
但非可选的谓词参数。
init(procID: UUID, stepID: UUID?) {
let predicate: NSPredicate
if let stepID = stepID {
predicate = NSPredicate(format: "id == %@", stepID as CVarArg)
} else {
// This will return a predicate that matches nothing, so your fetch
// will be empty.
predicate = NSPredicate(format: "FALSEPREDICATE")
}
_step = FetchRequest<Steps>(sortDescriptors: [], predicate: predicate)
processID = procID
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
737 次 |
最近记录: |