Swift 3中使用FMDB遇到的問題與解決方法
本文主要給大家介紹了關于在Swift 3中使用FMDB遇到的問題與解決方法,分享出來供大家參考學習,下面來一起看看詳細的介紹:
狀況
OC項目轉(zhuǎn)Swift,打算繼續(xù)使用FMDB。Cocoapods進來后,在橋接文件 "XXX-Bridging-Header.h" 中寫入#import "FMDB.h"。
編譯報錯,如下圖所示。


Cocoapods Podfile platform :ios, '10.0' use_frameworks! targetsArray = ['HelloSwift'] targetsArray.each do |t| target t do pod 'FMDB/SQLCipher' pod 'Alamofire' end end inhibit_all_warnings!
原因
究其原因,發(fā)現(xiàn)是因為在Podfile用了use_frameworks!導致的。之前OC的項目沒有加這個屬性。
在Cocoapods 里使用use_frameworks!的話,是通過frameworks這個方式來管理pod的代碼。不配置的話,則采用static libraries方式來管理。這也是之前OC項目里的方式,在需要調(diào)用的地方直接 #import "FMDB.h"即可。
解決方法
在橋接文件 "XXX-Bridging-Header.h" 中的引用方式改變成#import <FMDB/FMDB.h>
在需要調(diào)用的類里加上import FMDB,編譯成功。

示例代碼
之前Cocoapods用static libraries方式的話是不需要在類里import FMDB的。但如果采用use_frameworks!屬性的話,調(diào)用時不引用會報如下錯誤。

參考資料
Swift and Objective-C in the Same Project
總結(jié)
以上就是這篇文章的全部內(nèi)容,希望本文的內(nèi)容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
相關文章
Swift?中的?Actors?使用及如何防止數(shù)據(jù)競爭問題(示例詳解)
Swift中的Actors旨在完全解決數(shù)據(jù)競爭問題,但重要的是要明白,很可能還是會遇到數(shù)據(jù)競爭,本文將介紹Actors是如何工作的,以及你如何在你的項目中使用它們,感興趣的朋友跟隨小編一起看看吧2023-06-06
使用Swift實現(xiàn)iOScollectionView廣告無限滾動效果(DEMO)
本文給大家分享使用Swift實現(xiàn)iOScollectionView廣告無限滾動效果(DEMO),非常不錯,具有一定的參考借鑒價值,感興趣的朋友一起看看吧2016-11-11
Swift開發(fā)之使用UIRefreshControl實現(xiàn)下拉刷新數(shù)據(jù)及uirefreshcontrol使用
本文給大家介紹使用UIRefreshControl實現(xiàn)下拉刷新數(shù)據(jù),及UIRefreshControl的使用步驟,對本文感興趣的朋友一起學習吧2015-11-11

