Zerknąłem na wszystkie inne posty z tym samym błędem (użycie niezadeklarowanego typu), ale wciąż nie mogę zrozumieć, co jest nie tak z moim projektem.Swift Bridging Header - użycie niezadeklarowanego typu "FMDatabase" error
Różnica między tymi przypadkami polega na tym, że mogę z powodzeniem używać FMDatabase w klasach AppDelegate i ViewController, ale nie z innej utworzonej przeze mnie klasy, chociaż w tym samym projekcie co klasy AppDelegate i ViewController.
"Przez pomyślne użycie" mam na myśli dostęp do bazy danych i tabel.
Należy również pamiętać, że nie musiałem importować niczego, aby korzystać z FMDatabase w AppDelegate lub ViewController.
tej pory co mam zrobić (Xcode 6.4 Swift 1.2.):
Utworzono jednym widoku szybkiego projektu.
Zainstalowane FMDB wykorzystujące cocoapods (https://cocoapods.org/?q=fmdb)
Utworzony nagłówek pomostowego dla FMDB
mogę zadeklarować i skutecznie wykorzystywać FMDatabase z klas AppDelegate.swift i 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
...
W DBUtil.swift chociaż dostaję „użytkowania typu nierejestrowanej«FMDatabase»” błąd.
DBUtil.swift
class DBUtil {
var database: FMDatabase? // Error: "Use of undeclared type 'FMDatabase'
}
adapter jest dostępny w Swift Bridging Header.
W przypadku jakichkolwiek wskazówek lub pomysłów, z góry dziękuję.
Czy próbowałeś wyraźnej instrukcji import? Czy DBUtil został dodany do tego samego celu? Tylko kilka myśli ... –
@RomanSausarnes Dziękuję za komentarz. Próbowałem zaimportować, ale nadal nie mogę znaleźć tego, co można zaimportować. Zauważ też, że nie musiałem importować niczego, aby uzyskać do niego dostęp z AppDelegate lub ViewController. I tak DBUtil jest w tym samym projekcie co AppDelegate i ViewController, więc powinien być ten sam cel, chyba że coś przeoczyłem. –
Pliki mogą mieć różne cele, nawet jeśli znajdują się w tym samym projekcie. Przejrzyj karty kontrolne na prawym panelu przesuwnym, aby zobaczyć pola, do których zostały dodane, aby mieć pewność. To zdecydowanie wyjaśniłoby zachowanie, które widzisz. –