gpt4 book ai didi

Swift header 不包含两种方法

转载 作者:行者123 更新时间:2023-11-28 07:16:19 25 4
gpt4 key购买 nike

我在 Swift 类中定义了两个方法:

public func send(data: [UInt8], length: Int){
let queueObject = WriteQueueObject(data: NSData(bytes: data, length: length), userInfo: nil)
queue.append(queueObject) //queue is of type [WriteQueueObject]
}

public func send(data: [UInt8], length: Int, userInfo: [String:AnyObject]){
let queueObject = WriteQueueObject(data: NSData(bytes: data, length: length), userInfo: userInfo)
queue.append(queueObject)
}

一切正常,除了这两个方法没有导出到 ProductName-Swift.h 为什么?

最佳答案

这可能是 Objective-C/Swift 桥中的一个错误,但它看起来像 UInt8(或任何其他字节长度特定整数)的数组与 Objective- C。我说这可能是个错误,因为 UInt8 本身没问题,Using Swift with Cocoa and Objective-C 的“Swift Type Compatibility”部分却不行说点什么吧。

解决方法如下:

public func send(data: [UInt], length: Int) {
let dataConverted = data.map { UInt8($0) }
let queueObject = WriteQueueObject(data: NSData(bytes: dataConverted, length: length), userInfo: nil)
queue.append(queueObject) //queue is of type [WriteQueueObject]
}

关于Swift header 不包含两种方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25874825/

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