Ich habe Code gefunden, als ich ein Buch über CoreData in Swift gelesen habe. Ich bin verwirrt über die Bedeutung des folgenden Codes. Was ist die Bedeutung bei der Deklaration der Schließung wie configurationBlock: NSFetchRequest ->() = { _ in }
. vor allem die Bedeutung von {_ in}.Was bedeutet "{_ in}" in Swift?
public static func fetchInContext(context: NSManagedObjectContext, @noescape configurationBlock: NSFetchRequest ->() = { _ in }) -> [Self] {
let request = NSFetchRequest(entityName: Self.entityName)
configurationBlock(request)
guard let result = try! context.executeFetchRequest(request) as? [Self] else { fatalError("Fetched objects have wrong type") }
return result
}
Es ist eine leere Standard-Schließung um die Tatsache zu umgehen, dass Sie '@ Noescape' nicht zu einem optionalen Abschluss-Argument zuweisen können. Siehe hier: http://stackoverflow.com/questions/33779777/how-to-add-noescape-annotation-to-option-closure – Hamish
@ Kurt1018 Bitte lösche die Frage, die ich beantwortet habe. Ich habe mich viel Mühe gegeben, diese Frage zu beantworten. Löschen einer beantworteten Frage ist unhöflich (und kann Sie davon abhalten, Fragen zu SO zu stellen). Du solltest meine Antwort auf _reward_ mich akzeptieren, lösche deine Antwort nicht, um mich zu bestrafen. – matt