1.AFN進(jìn)行數(shù)據(jù)請(qǐng)求會(huì)開(kāi)辟多條線(xiàn)程嗎肚医?
1)這里在operation隊(duì)列中設(shè)置了最大并發(fā)數(shù)是1,讓所有網(wǎng)絡(luò)請(qǐng)求和等待網(wǎng)絡(luò)響應(yīng)都在同一條線(xiàn)程向瓷,而不是為每一條網(wǎng)絡(luò)請(qǐng)求都新建一個(gè)線(xiàn)程肠套,這樣會(huì)節(jié)約很多資源。
2)+ (NSURLSession*)sessionWithConfiguration:(NSURLSessionConfiguration*)configuration delegate:(nullable id)delegate delegateQueue:(nullable NSOperationQueue*)queue;
這個(gè)方法的英文解釋?zhuān)?/p>
queue:An operation queue for scheduling the delegate calls and completion handlers. The queue should be a serial queue, in order to ensure the correct ordering of callbacks. If?nil, the session creates a serial operation queue for performing all delegate method calls and completion handler calls.
session的這個(gè)方法中queue并發(fā)數(shù)是1猖任,保證了處理請(qǐng)求的正確順序你稚。
2.使用AFN之后需要在回調(diào)后如果操作UI,需要回到主線(xiàn)程進(jìn)行操作嗎朱躺?
不需要刁赖,AFN內(nèi)部已經(jīng)進(jìn)行了處理。下邊是我們AFN的源碼长搀。