2016-09-01 2 views
0

Я использую Swift 3.0 для Xcode 8.0 beta. Я установил библиотеку с помощью pods (FMDB), и теперь я пытаюсь расширить один из своих классов в swift. Я могу использовать API из моего расширенного класса, но он выходит из строя во время выполнения.Невозможно расширить класс Objective-C в Swift

-[FMResultSet polygonsForColumnIndex:]: unrecognized selector sent to instance 0x608000056890 

Ниже приведен код расширения:

public extension FMResultSet { 

    public func polygons(forColumnIndex index: Int32) -> [NMAMapPolygon] { 

Он врезается здесь при вызове:

let rs = db.executeQuery("select AsGeoJSON(geometry) from COM262_Project", withArgumentsIn: nil) 
     while (rs?.next())! { 

      //Crashes here! 
      let polygons = rs?.polygons(forColumnIndex: 0)  
     } 

Примечание: Расширения для работы других библиотек, таких как Alamofire.

+0

Что остальные ошибки говорят? –

+0

** - [FMResultSet polygonsForColumnIndex:]: непризнанный селектор отправлен в экземпляр 0x608000056890 ** –

+0

Как вы называете метод? – Mehdzor

ответ

2

Вы пробовали установить функцию как @objc?

public extension FMResultSet { 
    @objc public func polygons(forColumnIndex index: Int32) -> [NMAMapPolygon] { 

Кроме того, вы изменили настройки Enable Modules сборки на Yes .. Или, если вы используете конфигурационный файл CLANG_ENABLE_MODULES = YES

+0

Пробовал это, но без успеха. –

Смежные вопросы