连接套件基础知识

时间:2011-08-10 23:03:03

标签: cocoa frameworks

我需要在我的应用程序中实现文件传输,而Cocoa ConnectionKit似乎是非正式的标准。我能够编译它,但我一直在努力寻找任何文档或它的使用示例。我发现的唯一example已经过时,即使经过修改我也无法使其工作。有谁知道基本功能(创建连接,上传......)。

感谢您的帮助

1 个答案:

答案 0 :(得分:5)

一旦弄清楚它的布局,它就非常简单。

下面是创建ftp连接的代码

CKConnectionRequest *request = [CKConnectionRequest requestWithURL:url];
CKFTPConnection *ftpConn = [[CKFTPConnection alloc] initWithRequest:request];
[ftpConn setDelegate:self];
[ftpConn connect];
self.connection = ftpConn;
[ftpConn release];

然后,您将与CKConnectionProtocol.h中的Connection Delegate方法进行交互 要对上面的服务器进行身份验证,您将使用此委托方法,其中“cred”是您使用所需凭据设置的NSURLCredential实例。

- (void)connection:(id <CKConnection>)connection 
didReceiveAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge {
    [[challenge sender] useCredential:cred forAuthenticationChallenge:challenge];
}

对于上传,您只需在委托方法中调用CKConnectionProtocol.h中指定的上传方法之一,如下所示

- (void)connection:(id <CKConnection>)con
didOpenAtPath:(NSString *)dirPath error:(NSError *)error {
   CKTransferRecord *tr = [con uploadLocalItem:localPath
                             toRemoteDirectory:remotePath
                             ignoreHiddenItems:YES];
}

然后,您将通过CKConnectionProtocol.h中指定的上传方法接收有关上传状态的回调

希望这会有所帮助。原谅我输入的代码中的任何小错误都不能复制/粘贴