在objC中,saveWithBlock的方式是
[MagicalRecord saveWithBlock:^(NSManagedObjectContext *localContext) {
// This block runs in background thread
} completion:^(BOOL success, NSError *error) {
// This block runs in main thread
}];
对于我的生活,我无法正确获得正确的Swift块/闭包语法。不知道为什么这不会和我一起沉没。有人可以伸出手来制作上面的快速版本吗?
答案 0 :(得分:5)
看起来应该是这样的:脱离我的头顶......
MagicalRecord.saveWithBlock({ (localContext : NSManagedObjectContext!) in
// This block runs in background thread
}, completion: { (success : Bool, error : NSError!) in
// This block runs in main thread
})
答案 1 :(得分:0)
对于Swift 3.0和MagicalRecord 2.3.2
MagicalRecord.saveWithBlock({
(localContext: NSManagedObjectContext!) in
// Do your work to be saved here, against the `localContext` instance
// Everything you do in this block will occur on a background thread
}, completion: {
(MRSaveCompletionHandler) in
// This block runs in main thread
})
答案 2 :(得分:0)
试试这个
MagicalRecord.save({ (localContext:NSManagedObjectContext) in
}, completion:{ (success: Bool,error: NSError!) in
} as? MRSaveCompletionHandler
)
答案 3 :(得分:0)
Swift4语法如下所示,请尝试
MagicalRecord.save({ (localContext) in
// This block runs in background thread
}) { (success, error) in
// This block runs in main thread
}
希望它会有所帮助。