我使用下面的代码在数组中设置元素并返回数组,然后将返回的数组传递给另一个方法以进行更多更改,然后再返回。
NSMutableArray *returnArray = [[NSMutableArray alloc]init];
//call checkTP1
returnArray = [self checkTP1STD:addingTime :startToTP1 :TP1Result :nowDate :sevenHour :totalrest :returnArray];
//call check TP2
returnArray = [self checkTP2STD:addingTime :startToTP2 :TP2Result :nowDate :sevenHour :totalrest :returnArray :tp2Rest];
它目前正在按预期工作,我的问题是它是否会在执行checkTP2STD之前等待checkTP1STD返回?
我已经将代码拆分为多个方法以使其更具可读性,因为我将添加一些其他逻辑以将不同的变量值传递给方法,只是想确保我的基本想法可行。
答案 0 :(得分:2)
一般来说:是的
您的问题很奇怪,您似乎担心checkTP1STD
会在调用checkTP2STD
之前返回,但不会调用alloc
和init
之前的回复致电checkTP1STD
。
您是否真的打算在checkTP1STD
中进行异步工作(例如,使用GCD或系统框架方法,表明它们是异步的)。如果是这样,答案仍然是肯定的,但调用可能会在checkTP1STD
计划完成的所有工作完成之前返回 - 异步编程的本质。
HTH
答案 1 :(得分:1)
简而言之,是的。代码按顺序执行,除非显式调用新线程,而您没有通过您给出的代码执行此操作。