"省略参数名称"将objc迁移到swift时遇到错误,处理闭包

时间:2015-11-21 07:20:05

标签: ios objective-c swift migration

我将我的object-c项目迁移到swift,我可以使用闭包来阻止,但是有错误"参数名称省略",我必须自己添加参数,而不是由xcode自动生成

这是我的swift闭包代码,闭包有参数

 func GET(urlSting:String!,
    parameters:[String: AnyObject]?,
    success:((responseObject:AnyObject?) -> Void)?,
    failure:((error:NSError?) -> Void)?){
       // somethings
}

这是我在project-Swift.h生成的代码,块没有参数

- (void)GET:(NSString * __null_unspecified)urlSting 
        parameters:(NSDictionary<NSString *, id> * __nullable)parameters 
        success:(void (^ __nullable)(id __nullable))success 
        failure:(void (^ __nullable)(NSError * __nullable))failure;

这是我在objc.m中的代码,块没有参数,

[[APIClientS sharedClient] GET:"www.google.com/xxxx" 
            parameters:nil
            success:^(id _Nullable) {

            } failure:^(NSError * _Nullable) {

            }];

我需要自己添加参数,

failure:^(NSError * _Nullable error)

这真是一项无聊的工作,如何自动生成参数名?

编辑-2015-11-22 09:48:24

回答Bobj-C的问题: what do you mean "block has no parameter" ?

如下图所示,该块没有参数error,我必须自己添加

enter image description here

0 个答案:

没有答案