Я просмотрел все другие сообщения с той же ошибкой (использование необъявленного типа), но все еще не могу понять, что не так с моим проектом.Swift Bridging Header - использование необъявленного типа «FMDatabase» error
Разница с другими случаями заключается в том, что я могу успешно использовать FMDatabase в классах AppDelegate и ViewController, но не из другого класса, который я создал, хотя в том же проекте, что и классы AppDelegate и ViewController.
И «успешно использовать», я имею в виду, что я могу получить доступ к базе данных и таблицам.
Также обратите внимание, что мне не нужно было ничего импортировать для использования FMDatabase в AppDelegate или ViewController.
До сих пор, что я сделал (Xcode 6.4 Swift 1.2.):
Создан быстрый проект одного вида.
Устанавливаемого FMDB с использованием cocoapods (https://cocoapods.org/?q=fmdb)
Создано заголовка связующего для FMDB
Я могу успешно объявить и использовать FMDatabase из классов AppDelegate.swift и 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
...
В DBUtil.swift хотя я получаю «Использование необъявленной типа„FMDatabase“» ошибка.
DBUtil.swift
class DBUtil {
var database: FMDatabase? // Error: "Use of undeclared type 'FMDatabase'
}
репродуктора доступна на Swift Bridging Header.
Для любых советов или идей, заблаговременно.
Вы пробовали явное заявление импорта? Кроме того, добавлен ли DBUtil к одной и той же цели? Просто пара мыслей ... –
@RomanSausarnes Спасибо за ваш комментарий. Я попытался импортировать, но все еще не могу найти, что импортировать. Также обратите внимание, что мне не нужно было ничего импортировать для доступа к нему из AppDelegate или ViewController. И Да DBUtil находится в том же проекте, что и AppDelegate и ViewController, поэтому он должен быть одной и той же целью, если я не пропустил что-то. –
Файлы могут иметь разные цели, даже если они находятся в одном проекте. Просматривайте вкладки инспектора в правой скользящей панели для некоторых флажков, указывающих, к каким целям он был добавлен, чтобы быть уверенным. Это определенно объяснит поведение, которое вы видите. –