Swift Bridging Header - ошибка необъявленного типа 'FMDatabase'

Я просмотрел все другие сообщения с той же ошибкой (использование необъявленного типа), но все еще не могу понять, что не так с моим проектом.

Разница с другими случаями заключается в том, что я могу успешно использовать базу данных FMD в классах AppDelegate и ViewController, но не из другого класса, который я создал, хотя в том же проекте, что и классы AppDelegate и ViewController.

Под словом «успешно использовать» я имею в виду доступ к базе данных и таблицам в ней.

Также обратите внимание, что мне не пришлось ничего импортировать, чтобы использовать базу данных FMD в AppDelegate или ViewController.

Пока что я сделал (Xcode. 6.4 Swift 1.2):

  1. Создан проект быстрого просмотра одного представления.

  2. Установленная FMDB с использованием кокоподов ( https://cocoapods.org/?q=fmdb)

  3. Создан мостовой заголовок для FMDB

Я могу успешно объявить и использовать базу данных FMD из классов 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 .

За любые подсказки или идеи, спасибо заранее.

10 голосов | спросил Jack G. 5 PM00000070000003931 2015, 19:15:39

3 ответа


0

Я оставляю здесь ответ для других случаев: я получил ту же ошибку, но проблема была в моем соединительном заголовке, я забыл написать #import "FMDatabase.h"

ответил Ian Bell 14 MarpmMon, 14 Mar 2016 16:21:56 +03002016-03-14T16:21:56+03:0004 2016, 16:21:56
0

Если вы установили FMDB с CocoaPods, просто добавьте

import FMDB

в файле swift, где вы используете базу данных FMD.

ответил balazs630 7 ThuEurope/Moscow2017-12-07T15:19:52+03:00Europe/Moscow12bEurope/MoscowThu, 07 Dec 2017 15:19:52 +0300 2017, 15:19:52
0

В моем случае была та же ошибка. Я исправил это, добавив в проект только файлы .h и .m (но не папку), отметив галочкой «копировать элементы при необходимости» & создать группы и сделал это. Затем создается obj c bridging header.

На целевых бинарных файлах фаз сборки - добавлен libsqlite3.tbd. Включено содержание для вставки содержит быстрый код для Да.

Это решило эту проблему.

ответил A.G 28 PMpThu, 28 Apr 2016 14:35:26 +030035Thursday 2016, 14:35:26

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132