gpt4 book ai didi

ios - 无法在 Swift 中扩展 Objective-C 类

转载 作者:行者123 更新时间:2023-11-28 12:41:43 25 4
gpt4 key购买 nike

我在 Xcode 8.0 beta 上使用 Swift 3.0。我已经使用 pods (FMDB) 安装了一个库,现在我正在尝试快速扩展其中一个类。我能够使用扩展类中的 API,但它在运行时崩溃。

-[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。

最佳答案

您是否尝试过将函数设置为 @objc 例如

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

最重要的是,您是否已将build设置 Enable Modules 更改为 Yes。或者如果您使用的是配置文件 CLANG_ENABLE_MODULES = YES

关于ios - 无法在 Swift 中扩展 Objective-C 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39270802/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com