如前文所述,我们处理新型可选项(Swift 3中)Objective-C block参数的方式是直接为其分配隐式解析可选项变量,这意味着我们不需要在block之内进行大量代码更新。然而,更理想的处理方法应该是考虑该参数为nil的可能性。
解决warning
为了快速完成转换转换流程,我们直接忽略了大量编译器提出的警告信息——只要其内容不是非常关键。着眼于未来,我们必须回头审查这些问题以将警告数量控制在正常范围内。
总结
考虑到Airbnb公司很早就开始采用Swift语言,我们积累了大量遗留Swift代码。将其迁移至Swift 3的头号问题在于,我们很难弄清这项工作该如何进行或者会对应用程序产生怎样的影响。如果大家还没有着手进行这项面向Swift 3的迁移工作,希望我们通过实践积累到的上述经验能够帮助大家对未来的挑战拥有更为明确的认知。