簡體   English   中英

在Objective-c中使用通用擴展swift類

[英]Use generic extended swift class in Objective-c

在我的項目中,我有許多快速類擴展了通用類。 現在,我需要將數據從Objective-C類發送到這些Swift類。 有什么可行的方法嗎?

我嘗試過在上課之前使用@objc,如下所示 圖片1 但它不允許我這樣做。

我遵循了這個答案棧鏈接 但是我檢查了使用此代碼運行我的應用程序時,是否在Project-swift類中創建了變量,如下圖所示 圖片2 因為這里沒有創建變量,所以在objective-c類中調用變量時會出錯。

請提供更好的解決方案。

我通過創建另一個包含協議的類來獲得解決方案,並且我間接調用了通用擴展類。

class EntityDataTable :BaseData<EntitySw> {
}

這是通用擴展類

我在Objective-C中間接訪問該類的另一個類是

@objc class EntityService : NSObject {
 var entityProtocol:EntityDataProtocol?

 override init() {
    super.init()
    entityProtocol = returnDataObject()
 }

  func returnDataObject() -> EntityDataTable {
    return EntityDataTable()
  }
 }

@objc protocol EntityDataProtocol{
  func addFromService(source: CWEntity)
  func getAll() -> [EntitySw]
}

然后我在目標c類中導入了Project-swift.h文件,並創建了swift類的對象

暫無
暫無

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

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