如何警告调用方Swift中的函数



我正在逐步重构一个大型iOS Swift项目。有些函数必须重命名,我不能直接重命名,因为许多其他模块直接调用它。相反,在第一阶段的发布中,我想让函数的调用方知道,请使用此函数而不是此函数。让我举一个例子来解释,

func length() - > Int {
//..... some logic
}

期望在下一个版本中对其进行重构,

func count() - > Int {
//..... same logic
}

对于第一阶段,我希望保留length()count(),但要提醒其他开发人员不要使用现有的,即length((。所以我尝试了

func length() - > Int {
#warning("Please use count() instead")
//..... some logic
}

但警告是在线路中发出的,而不是给呼叫者的。那么,让来电者知道错误来电的最佳方式是什么呢?

注意:这里的例子只是理解这个问题的最简单的形式。实际实现的范围和模块规模要大得多。

您可以使用@available关键字管理方法的可用性。

警告用户:

@available(*, deprecated, message: "Please use count() instead")
func length() - > Int { }

强制用户:

@available(*, unavailable, message: "Please use count() instead")
func length() - > Int { }

建议用户重命名功能:

@available(*, renamed: "count()")
func length() - > Int { }

如果需要(即使没有消息(,您也可以设置平台和弃用版本:

@available(iOS, deprecated:11.2)
func length() - > Int { }

使用available关键字

您可以通过多种方式使用它,如果您想向开发人员显示警告,则应使用deprecated,但如果您想强制使用unavailable

@available(*, deprecated, message: "Please use count() instead")
func length() - > Int {
}

更多信息请访问HackingWithSwift

相关内容

  • 没有找到相关文章

最新更新