我有一個iOS應用程序,可以從網站下載文件。我在類Downloads
中創建了NSURLSession
來管理它們。 Downloads
類有一個NSMutableArray
,它使用我的DownloadItem
對象跟蹤所有當前和過去的下載。我對此設置不滿意。組織多個NSURLSessionTasks
目前,我必須有Downloads
類作爲所有下載的代表。我看不到將每個NSURLSessionDownloadTask
的代理人分配給DownloadItem
對象的方法。所以,我必須保持它分配給我的Downloads
對象,然後讓它找出哪個方向DownloadItem
轉發消息。
目前我通過在Downloads
中創建一個名爲tasksDictionary
的NSMutableDictionary,並使用taskIdentifier
作爲關鍵。
return [self.tasksDictionary objectForKey:[NSNumber numberWithInteger:task.taskIdentifier]];
這似乎工作,但它似乎並不是最有效的方法。我還擔心我看到創建的第一個taskIdentifier是0
,這將使難以辨別完成的任務和第一個任務之間的區別。
有沒有更好的方法來跟蹤這些事情?有沒有辦法爲任務分配一個新的委託?
這基本上是我在做什麼,但它是好的,有一個確認我做正確的事情。 –