gpt4 book ai didi

ios - 在 iOS 中为我​​自己的框架添加 "THIS has been renamed to THAT"

转载 作者:行者123 更新时间:2023-12-04 08:31:18 26 4
gpt4 key购买 nike

假设我有一个框架,A,我通过在项目中添加 A.framework 文件动态地包含在很多项目中。

考虑框架 A 代码中的一个场景:

struct Foo {    
static let `default` = Foo()
}

现在我将名称从 default 更改为 shared :

struct Foo {    
static let shared = Foo()
}

现在,当我们更新 Swift 版本时,如果某些语法发生变化,我们有时会收到类似这样的错误

'NSLayoutAttribute' has been renamed to 'NSLayoutConstraint.Attribute'

我们点击该错误中的修复按钮,名称会自动更改。

当我在 A.framework 中进行一些名称更改函数声明更改 并将其推出到使用它的应用程序。是否有已知的方法来实现相同的目标?

最佳答案

您可以使用 @available 实现相同的行为属性。

struct Foo {

@available(*, unavailable, renamed: "shared")
static let defaults = Foo()

static let shared = Foo()
}

它将为您提供如下所示的确切行为:

Replace dialog


注意:您也可以对函数执行相同的操作,唯一的问题是您必须具有相同数量的参数。

struct Foo {

@available(*, unavailable, renamed: "sharedFun(fName:lName:)")
static func defaultFun(first: String, last: String) {}

static func sharedFun(fName: String, lName: String) {}
}

Replace dialog - Function

关于ios - 在 iOS 中为我​​自己的框架添加 "THIS has been renamed to THAT",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59610627/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com