簡體   English   中英

我的類別NSDate + Api現在不適用於Swift中的Date類(遷移到Swift 3和Swift互操作性之后)

[英]My Category NSDate+Api does not work now for Date class in Swift (After Migration to Swift 3 and Swift Interoperability)

我為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()

另一種解決方案是使用所有方法創建Date擴展,並從每個方法調用obj C方法。

我想知道是否有辦法以某種方式說出編譯器自動生成swift Date擴展(不是NSDate)。 喜歡:

@interface NSDate (KDApi) NS_SWIFT_NAME(Date);

我嘗試過它並沒有用。

這是swift 3.0的預期行為。 Apple的開發人員證實,NSDate和Date是兩種不同的類型。 此外,與NSString和String的情況不同,NSDate到Date擴展的類別沒有橋接,這是肯定的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM