在Objective-C中,我可以做到这一点

- (id)init __attribute__((unavailable("init is unavailable, use initWithFrame")));

为了警告不应该使用该方法初始化类的用户,我可以添加另一个_属性来弃用该方法

+(void)shareWithParams:(NSDictionary *)params
__attribute((deprecated("use shareWithPars: instead"))); 

在Swift 有可能这样做吗?

推荐答案

Swift有一个available属性,你可以使用它.它的可用参数包括

  • 介绍
  • 反对
  • 废弃的
  • 消息
  • 重新命名.

或者你举的例子:

@available(*, unavailable, 消息: "init is unavailable, use initWithFrame")
init() {

}

@available(*, 反对, 消息: "use shareWithPars: instead")
class func shareWithParams(params: NSDictionary) {

}

有关这些属性的更多信息,请查看The Swift Programming Language中的属性部分.(目前第627页)

Swift相关问答推荐

在Swift中initt()完成后运行一个函数

try 在SwiftUI中做5星评级

如何在visionOS中进行购买?&# 39;购买(选项:)在visionOS中不可用

background Task(.backgroundTask)不适用于MySQL

以编程方式使UIView居中,而不影响UIKit中其他UI类的位置

将matchedGeometryEffect 应用于列表视图内的视图时,列表视图中的项目会受到影响 - SwiftUI

ClosedRange.Swift 中 Int 的索引?

如何隐藏集合视图中特定的单元格,以避免出现空白空间?

暂停我的 AR 会话并清除变量和锚点的功能

在 SwiftUI 中禁用 Select 器选项

如何在不将变量转换为字符串的情况下判断变量在 Swift 中是否为 Optional(nil)?

在 Swift 的异步上下文中,如何指示我想要函数的同步版本?

与 SwiftUI 中的 onChange 修饰符相比,objectWillChangeSequence 的目的是什么?

SwiftUI View Builder 参数无法更改状态

将数据附加到 Firebase 实时数据库后,NavigationLink 将我重定向到上一个视图

Vapor, fluent 使用 PostgreSQL 保存/创建复杂模型

即使设置为从不也可以访问 iOS11 照片库

来自 ObservableObject 的绑定值

将 UIImage 剪成圆形

从 Swift 初始化程序调用方法