gpt4 book ai didi

ios - 我的类别 NSDate+Api 现在不适用于 Swift 中的 Date 类(迁移到 Swift 3 和 Swift 互操作性之后)

转载 作者:搜寻专家 更新时间:2023-10-31 19:33:30 25 4
gpt4 key购买 nike

我为 NSDate、NSString 编写的所有类别都有问题......迁移到 Swift 3 现在确实将所有 NSDate 属性更改为 Date(在 swift 文件中)。现在我无法从 Swift 中 Date 类型的属性调用我的 NSDate+Additions 类别方法。

例如,我在 Obj C 中有这个类别

@interface NSDate (Additions)

- (BOOL)isTimedOut;

@end

我有 swift 文件包含:

let date: Date = Date.init()
let isTimedOut = date.isTimedOut()

到目前为止,我想出了两个解决方案:

First is to cast so it would be 
let isTimedOut = (date as NSDate).isTimedOut()

另一种解决方案是使用所有方法创建日期扩展,并从每个方法调用 obj C 方法。

我想知道是否有办法告诉编译器自动生成 swift Date 扩展(不是 NSDate)。喜欢:

@interface NSDate (KDApi) NS_SWIFT_NAME(Date);

我试过了,没用。

最佳答案

这是 swift 3.0 的预期行为。 Apple 的开发人员确认 NSDate 和 Date 是两种不同的类型。此外,从 NSDate 到 Date 扩展的类别没有桥接,这与 NSString 和 String 的情况不同,是的。

关于ios - 我的类别 NSDate+Api 现在不适用于 Swift 中的 Date 类(迁移到 Swift 3 和 Swift 互操作性之后),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39597310/

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