您好我尝试从ftp服务器下载XML文件,但我的CFRreadStreamRead函数有问题。因为我不知道应该将“_ buffer:UnsafeMutablePointer”参数设置为什么。我从apple documentation获得了此功能。在下面的代码中,您可以看到我目前是如何尝试的。我希望你能帮助我。
public func openFTPConnection()
{
var url: CFStringRef
url = "Test" as NSString
var requestURL: CFURLRef
requestURL = CFURLCreateWithString(kCFAllocatorDefault, url, nil);
let ftpStream = CFReadStreamCreateWithFTPURL(kCFAllocatorDefault, requestURL).takeRetainedValue()
var state = CFReadStreamOpen(ftpStream)
if state == 0
{
println("Fehler beim verbinden")
}
else
{
println("Verbindung erfolgreich")
}
var numBytesRead = 0
var bufSize = 4096
var buf = [UInt8](count: bufSize, repeatedValue: 0)
do
{
numBytesRead = CFReadStreamRead(ftpStream, buf, bufSize)
}
while( numBytesRead > 0 );
CFReadStreamClose(ftpStream)
}
答案 0 :(得分:0)
对于UnsafeMutablePointer<Type>
参数,可以传递[Type]
数组
作为“inout value”通过&
(作为指向数组开头的指针传递):
numBytesRead = CFReadStreamRead(ftpStream, &buf, bufSize)
有关详细信息,请参阅中的Interacting with C APIs “将Swift与Cocoa和Objective-C一起使用”文档。