Multithreading Cocoa&;确定在Cocoa中检查哪些单元格

Multithreading Cocoa&;确定在Cocoa中检查哪些单元格,multithreading,cocoa,Multithreading,Cocoa,问题1-我正在编写一个程序,该程序有一个表视图,其中加载了磁盘属性列表中的数据。每个单元格都有一个与其关联的名称和一个复选框。该程序的目的是有一个“获取”按钮,当按下时,它将遍历表格,查看检查了哪些单元格。对于每一个被检查的单元,它都会抓取它的URL(只是辅助单元)并下载它 范例 x文件1 _文件2 x文件3 按“获取”时,它将从somesite.com/File1.zip、somesite.com/File3.zip下载文件(文件1和文件3) 目前,我所写的将只是下载最后一个文件检查 问题

问题1-我正在编写一个程序,该程序有一个表视图,其中加载了磁盘属性列表中的数据。每个单元格都有一个与其关联的名称和一个复选框。该程序的目的是有一个“获取”按钮,当按下时,它将遍历表格,查看检查了哪些单元格。对于每一个被检查的单元,它都会抓取它的URL(只是辅助单元)并下载它

范例

  • x文件1
  • _文件2
  • x文件3
按“获取”时,它将从somesite.com/File1.zip、somesite.com/File3.zip下载文件(文件1和文件3)

目前,我所写的将只是下载最后一个文件检查


问题2-一旦我弄明白了这一点,我想知道如何同时下载所有文件,而不是连续下载,因为这就是我的程序现在正在做的事情

包含按钮调用的代码的类应包含:

IBOutlet NSButton *checkbox1;
在其标题的变量区域中(加上复选框2和复选框3)

此IBOutlet应连接到界面布局中的复选框。在中阅读有关IBOutlets的信息

至于同时下载多个文件…您应该异步使用多个NSURLConnections。这可能有点棘手。看一看这张照片。然后在这里也看一下这个问题,一次管理多个连接:


但它不会只有3个复选框。它将有大约300个。但是使用这个outlet方法,每个新的动态创建的单元格/行是否能够通过另一个方法检索其值?编辑:我还使用NSURLDownload来获取文件,而不是NSURLConnection。除非是同一件事。NSURLDownload始终是异步的。您可以下载任意数量的内容。如果要有数百个复选框,则可以将它们全部放在父视图中(您可以通过IBOutlet访问该视图),然后迭代父视图子视图中的所有复选框。最后,您应该看看MVC——将应用程序状态划分为不同的类,并让复选框简单地反映该状态。这是在评论中讨论一个大主题的一种方式。我通过为每个对象创建一个单独的类并将它们添加到数组中来解决这个问题。到现在为止它还在工作。至于NSURLDownload,你说它总是异步的?那么,如果我创建多个NSURLRequest w/NSURLDownloads,它们会同时下载吗?在我这边,看起来它们都是在不同的时间下载的。除非我错过了什么。。。