Ho esaminato tutti gli altri post con lo stesso errore (uso del tipo non dichiarato) ma non riesco ancora a capire cosa c'è di sbagliato nel mio progetto.Intestazione di bridging Swift - Utilizzo del tipo non registrato Errore 'FMDatabase'
La differenza con gli altri casi è che posso utilizzare correttamente il database FMDD in classi AppDelegate e ViewController ma non da un'altra classe che ho creato, sebbene nello stesso progetto delle classi AppDelegate e ViewController.
E con "uso corretto", voglio dire che posso accedere al database e alle tabelle al suo interno.
Si noti inoltre che non è necessario importare nulla per utilizzare FMDatabase in AppDelegate o ViewController.
Finora quello che ho fatto (Xcode 6.4 Swift 1.2.):
Creato un unico punto di vista del progetto rapido.
installati FMDB utilizzando cocoapods (https://cocoapods.org/?q=fmdb)
creato un colpo di testa di ponte per FMDB
posso dichiarare con successo e utilizzare FMDatabase dalle classi AppDelegate.swift e ViewController.swift.
AppDelegate.swift
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
var database: FMDatabase? // OK
...
ViewController.swift
class ViewController: UIViewController {
var database: FMDatabase? // OK
...
In DBUtil.swift se sto ricevendo il “Utilizzo di tipo non dichiarato‘FMDatabase’” errore.
DBUtil.swift
class DBUtil {
var database: FMDatabase? // Error: "Use of undeclared type 'FMDatabase'
}
Un riproduttore è disponibile presso Swift Bridging Header.
Per qualsiasi suggerimento o idea, grazie in anticipo.
Hai provato una dichiarazione esplicita di importazione? Inoltre, DBUtil è stato aggiunto allo stesso target? Solo un paio di pensieri ... –
@RomanSausarnes Grazie per il tuo commento. Ho provato a importare ma ancora non riesco a trovare cosa importare. Nota anche che non ho bisogno di importare nulla per accedervi da AppDelegate o ViewController. E Sì DBUtil si trova nello stesso progetto di AppDelegate e ViewController, quindi dovrebbe essere lo stesso target, a meno che non mi sia sfuggito qualcosa. –
I file possono avere obiettivi diversi anche se si trovano nello stesso progetto. Guardare attraverso le schede dell'ispettore nel pannello scorrevole della mano destra per alcune checkbox che indicano quali destinazioni sono state aggiunte, solo per essere sicuri. Questo sicuramente spiegherebbe il comportamento che stai vedendo. –