簡體   English   中英

Swift中GCDAsyncUDPSocket getHost的哪些數據類型

[英]What data types for GCDAsyncUDPSocket getHost in swift

我糊塗了。 這是我的代碼:

public func udpSocket(sock: GCDAsyncUdpSocket!, didReceiveData data: NSData!, fromAddress address: NSData!, withFilterContext filterContext: AnyObject!) {
   var send_port : UnsafeMutablePointer<UInt16>
   var hostPtr : AutoreleasingUnsafeMutablePointer<NSString?>

   // This appears to be a class level function - not an individual function attached to the sock variable
   GCDAsyncUdpSocket.getHost(&hostPtr, port: &send_port, fromAddress: address)       
}

這是我的錯誤:

在此處輸入圖片說明

無法使用類型為'(inout AutoreleasingUnsafeMutablePointer,port:inout UnsafeMutablePointer,fromAddress:NSData!)的參數列表調用'getHost'。

這是“原型”

class func getHost(hostPtr: AutoreleasingUnsafeMutablePointer<NSString?>, port portPtr: UnsafeMutablePointer<UInt16>, fromAddress address: NSData!) -> Bool
class func getHost(hostPtr: AutoreleasingUnsafeMutablePointer<NSString?>, port portPtr: UnsafeMutablePointer<UInt16>, family afPtr: UnsafeMutablePointer<Int32>, fromAddress address: NSData!) -> Bool

在我看來,您傳遞了:

AutoreleasingUnsafeMutablePointer<NSString?>

和一個

我以為是UnsafeMutablePointer<UInt16>

有什么想法我做錯了嗎?

您必須將變量定義為

var send_port : UInt16 = 0
var hostPtr : NSString? = nil

使用&將變量作為inout參數傳遞給采用相應UnsafeMutablePointer參數的函數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM