[英]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.