gpt4 book ai didi

swift - 如何在 Swift 的 NSNetService 上使用 getInputStream()?

转载 作者:搜寻专家 更新时间:2023-11-01 05:53:47 25 4
gpt4 key购买 nike

我正在尝试设置一个 NSInputStreamNSOutputStream用于 NSNetService 上的 Bonjour 连接. getInputStream 方法需要类型为 UnsafeMutablePointer<NSInputStream?> 的参数:

public func getInputStream(inputStream: UnsafeMutablePointer<NSInputStream?>, outputStream: UnsafeMutablePointer<NSOutputStream?>) -> Bool

但是当我这样做时,inputStream 和 outputStream 保持为 nil,succes 为 false:

    let inputStream:UnsafeMutablePointer<NSInputStream?> = nil
let outputStream:UnsafeMutablePointer<NSOutputStream?> = nil

var succes = service.getInputStream(inputStream, outputStream: outputStream)

另一个问题是我不能将它作为“NSInputStream”来处理,因为它的类型是“UnsafeMutablePointer”。当我尝试这样做时,出现以下错误:

Error:(52, 13) value of type 'UnsafeMutablePointer<NSInputStream?>' (aka 'UnsafeMutablePointer<Optional<NSInputStream>>') has no member 'delegate'

在 swift 中处理这些可变指针类型的正确方法是什么?任何帮助将不胜感激,谢谢!

最佳答案

你的指针是nil 因为你没有为它们分配内存。但更简单的解决方案是将 NSIn/OutputStream? 变量作为带有 & 的 inout 参数:

var inputStream : NSInputStream?
var outputStream : NSOutputStream?

let success = service.getInputStream(&inputStream, outputStream: &outputStream)

关于swift - 如何在 Swift 的 NSNetService 上使用 getInputStream()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33830131/

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