Как преобразовать блок завершения Objective-C в Swift?

Я пытаюсь преобразовать синтаксис блока Objective-C в Swift Xcode 6.3.2.

typedef блока завершения:

typealias CompletionWithBoolBlock = (Bool, NSError, NSString) -> Void

[Model insertObjectWithTable:@"tblStudent" values:dict completion:^(BOOL success, NSError *responseError, NSString *object){
        
        if(success){
            NSLog(@"inserted");
        }
        else
        {
             NSLog(@"Not inserted, %@",responseError.description);
        }
    }];

После серфинга в сети я попытался с

    Model.insertObjectWithTable("tblStudent", values: dict, completion:({(success:Bool,responseError:NSError, object:NSString)->(Void) in
        
        if success
            {
                println("inserted")
            }
            else
            {
                 println("Not inserted \(responseError.description)")
            }
        })
}

а также

    Model.insertObjectWithTable("tblStudent", values: dict, completion:(success:Bool,responseError:NSError, object:NSString)->Void{
        
        if success
            {
                println("inserted")
            }
            else
            {
                 println("Not inserted \(responseError.description)")
            }
        })

но он показывает мне ошибку

Ожидаемый разделитель ','

Ожидаемое выражение в списке выражений


person Soniya    schedule 06.06.2015    source источник


Ответы (1)


Ты пробовал

Model.insertObjectWithTable("tblStudent", values: dict, completion:{(success:Bool, responseError:NSError, object:NSString) -> Void in
    if success {
        println("inserted")
    } else {
        println("Not inserted \(responseError.description)")
    }
})
person luk2302    schedule 06.06.2015