2015-05-29 110 views
-3

我新的iOS開發,並已閱讀了蘋果網站,在那裏我偶然發現NSTask上的文檔,以及NSOperation。我無法從兩者的實際情況上分辨兩者的區別。有人能列出他們之間的區別是什麼,什麼時候適合使用他們每個人?NSTask和NSOperation有什麼區別?

編輯:我不明白的是他們是如何彼此不同。 文檔說,一個NSTask對象用於運行子進程,並且只能運行一次。 他們還說,NSOperation封裝了只能運行一次的任務。

他們似乎做了完全相同的事情。這就是爲什麼我想知道使用它們的優點/缺點。

+1

看到這個【答案】(http://stackoverflow.com/questions/1124207/what-is-the-basic-差之間-的NSTimer-nstask-nsthread和 - nsrunloop?answertab =活性#製表頂部)。 –

+1

請更具體地說明你做什麼和不明白。他們基本上沒有任何關係。 –

+0

編輯問題@JoshCaswell – sosale151

回答

2

一個NSTask你讀過用於運行一個新的子進程。一個進程是一個具有獨立內存空間的新實體。一個進程可以創建多個將在其內存空間中運行的線程。 NSTask不適用於iOS,因爲應用程序不能有多個進程(這是應用程序本身)。

NSOperation簡化的解釋是,這就像創建一個新線程。 我認爲你在使用NSOperation文檔中的「任務」一詞會引起混淆。他們不是在談論NSTask,而是談論操作正在執行的代碼(即您的「任務」)。

有沒有試圖比較兩個或現貨的差異,因爲他們並沒有真正涉及多點。更何況事實,你不能真正使用的iOS NSTask或過程的概念...

+0

你說得對,因爲在NSOperation文檔中使用「任務」這個詞讓我很困惑。謝謝您的幫助! 但該死的,堆棧溢出有時可能會很嚴苛。 – sosale151