1

我對Swift和Objective-C的專家有疑問。 我正在用swift開發iOS項目。 在這個項目中,我導入了一個與Objective-C橋一起使用的舊版本庫(在Objective-C中)。從Objective-C到Swift之間的橋接後無法識別擴展

當我在Swift項目中使用這個庫的某些功能時,由於無法識別的擴展名,我遇到了崩潰。

的錯誤信息是:

- [NSConcreteMutableData AES128EncryptedDataWithKey:]:無法識別的選擇發送到實例

此方法在我的圖書館來自一個擴展類(NSData的+ AES128.h)這在Swift方面是不被認可的。 有人知道如何在Swift中引用這個擴展?我真的迷失了!

謝謝!

回答

1

這是一個運行時錯誤,不是編譯器/ Swift錯誤。所以很可能你忘了將.m文件添加到實現此類別/擴展的項目中,但頭部必須顯然存在,否則會收到編譯器警告。

+0

不,不是原因。該庫沒有警告,並且Objective-C項目可以正常工作。 但是對於Swift項目,我有這個錯誤,就好像這個橋沒有考慮到這個擴展。 – user3281706