Tag: Swiftify

深入了解Swiftify

复杂转换 正如我们前面提到的,Swiftify执行的转换不是对Objective-C语法的愚蠢搜索和替换操作,而是该工具更像是一个编译器,该编译器具有: 一次扫描一个字符。 通过标记扫描的字符,对代码执行词法分析 。 然后执行语法分析以确保从词法分析中产生的标记顺序正确。 可以产生期望结果的一组关键字的正确顺序称为语法。 然后, 语义分析会生成一种中间语言或结构,以便可以将其转换为等效的Swift。 这个复杂的过程为Swiftify提供了令人印象深刻的优势,即数据类型感知能力。 例如: 转换为: 如果Swiftify不知道i’的数据类型,并且将加法转换为仅var g = i + f ,它将产生一个编译器错误,表明Binary operator ‘+’ cannot be applied to operands of type ‘Int’ and ‘Float’ ; 您可以在此处探索免费的在线代码转换器。 仅此一项就可以向您展示该工具的真正智能程度。 再以下面的代码段为例,该代码段将持久性存储添加到NSPersistentStoreCoordinator中: 转换为: 在这里,您可以看到Swiftify能够try包装该调用,因为此函数throws ,并且,此外,它还可以推断persistentStoreCoordinator是一个可选属性,并为该属性添加了可选的展开功能 ! 您还可以在这里找到许多其他这样的示例。 包起来 我希望这可以帮助您了解为什么我将Swiftify用于所有转换。 从Xcode扩展到离线转换器,Swiftify可以帮助您! 使用Swiftify,您还可以: 生成Swift文档。 增加您的图书馆的用户群。 迁移您的旧代码。 如有任何疑问,请随时在下面的评论部分中提问。