【问题标题】:how to convert completion viewcontroler code from objc into swift如何将完成视图控制器代码从 objc 转换为 swift
【发布时间】:2019-10-17 02:43:02
【问题描述】:

我需要快速为我的视图控制器进行初始化。那么如何在 swift 中创建类似的 init 方法。

  - (instancetype)initWithFormlyData:(NSDictionary *)json afterUpdatingProfile:(void (^)(BOOL, BMErrors *))completion

 {

        self = [super initWithFormlyData:json];
if (self) {
    self.updateCompletion = completion;
}
return self;

 }

【问题讨论】:

    标签: objective-c swift closures


    【解决方案1】:

    这里有一个解决方案:

    init(formlyData json: NSDictionary, afterUpdatingProfile completion: ((Bool, BMErrors?)->Void)?)
        {
    
        }
    

    我冒昧地将完成的 BMErrors 设为可选,即使您的 ObjC 没有指定可为空。您可能希望其他参数也可以为空,因此请根据需要添加可选参数。

    您可能只想简化为:

    init(json: NSDictionary, completion: ((Bool, BMErrors?)->Void)?)
        {
    
        }
    

    如果您的来电者不介意,也许可以考虑切换到 Swift 词典。

    希望这会有所帮助!

    【讨论】:

      猜你喜欢
      • 2015-07-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-31
      • 2014-08-08
      相关资源
      最近更新 更多