iOS - 在Swift中添加一个Void SuccessCallback块

时间:2016-02-11 06:30:53

标签: ios swift closures

我对Swift很新。如何定义具有VOID成功回调块和错误回调块的函数?我不需要在成功时传递任何对象,但我确实需要知道我的错误。

使用传递对象的成功和错误回调块的函数示例:

func searchForTweetsWithKeyword(searchString: String, geoCodeParameter: String, successCallback: (tweets :[Tweet]) ->(), errorCallback: (errorDictionary: Dictionary<String, String>) ->()) {
    ...do stuff
}

我想完成这样的事情,但我不确定我是否正确地按语法执行:

func validateNewItemWithDescription(description: String, quantity: Int, successCallback: () ->(Void), errorCallback: (errorString: String) ->())
{

}

1 个答案:

答案 0 :(得分:0)

你肯定需要两个回调块吗?怎么样打电话:

func parseCommand (inText: String) -> CommandParseResult

使用CommandParseResult:

enum CommandParseResult{
case ValidCommand (Command)
case ErrorResponse (String) }

然后处理类似的事情:

        var validCommand: Command?
        let commandResult = self.myDictionary.parseCommand(textCommand)
        switch commandResult
        {
            case .ErrorResponse (let errorResponse):
                completionMessage = errorResponse.stringByReplacingCaseFormat("<Person>", withString: self.currentPerson)
            case .ValidCommand (let returnedCommand):
                validCommand = returnedCommand
        }