【问题标题】:Swift Transfer -> Array to ObjectiveCSwift 转换 -> 数组到 Objective C
【发布时间】:2017-12-22 17:24:01
【问题描述】:

我有问题,我无法使用谷歌解决它。 我有字符串数组(用swift编写)。但我有带有图表功能的 ObjectiveC 文件。

我需要将整个 swift 数组转移到 ObjectiveC 文件中。

数组示例:

for i in 0...11 { 
    mainSelectionMonthArrayValues.append(
        String(WatchlistViewController().fetchDataMonth(
            type:1, month: i+1, year: 2017)
        )
    ) 
}

【问题讨论】:

  • “将整个 swift 数组传输到目标 C 文件”是什么意思?请解释
  • 你基本上是在问如何从你的swift代码中调用objective-c方法吗?
  • 我在 swift 中有数组,想在目标 C 中调用它
  • 你是如何暴露它的,它存储在哪里?您是否已将 Swift 标头导入到您的 Objective-C 文件中,如此处所述? stackoverflow.com/questions/24102104/…我们可能需要查看更多代码才能完全理解问题所在。
  • 我再次尝试将头文件导入swift。感谢您的回答!

标签: ios arrays swift


【解决方案1】:

鉴于您对“不起作用”的代码或您遇到的具体错误不是很具体,因此很难准确回答任何问题。但是鉴于 Google 在书中找到的“可可将 swift 字符串数组传递给 Objective-c”,您将拥有

要在 Swift 数组上调用 NSArray 函数,您可能需要强制转换为 NSArray

因此,如果您想将mainSelectionMonthArrayValues 传递给Objective-C 方法(具有适当的接口),您也必须这样做。在大多数情况下,转换为 Objective-C 类并不是免费的,但它可能是一个常数时间操作。但是请注意,如果您的对象需要在 Objective-C 端是可变的,您将不得不强制。所以尝试使用类似

的方式传递你的数组
objCRef.callObjCMethod(mainSelectionMonthArrayValues as NSArray)

如果这再次“不起作用”,那么您应该向我们提供有关您遇到的错误类型的更多信息。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-05-17
    • 2016-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多