ios中处理错误为什么传递的是&error,而不是error?
& 是用来传地址的
因为 需要将error 传入后修改其值,然后再返回来,返回来后还要保证己经修改过了。
&error传入是传的地址引用,传入后处理函数直接访问变量的地址,可以修改其值再返回同一个地址, 调用函数就可以知道值是否有修改,即是否有错
而error传入是传的值引用,值引用传入到程序栈中后其实是把原来的值复制了一份传过去,处理函数可以修改,但无法将改后的值传出函数体。
ios中处理错误为什么传递的是&error,而不是error?
因为 需要将error 传入后修改其值,然后再返回来,返回来后还要保证己经修改过了。
&error传入是传的地址引用,传入后处理函数直接访问变量的地址,可以修改其值再返回同一个地址, 调用函数就可以知道值是否有修改,即是否有错
而error传入是传的值引用,值引用传入到程序栈中后其实是把原来的值复制了一份传过去,处理函数可以修改,但无法将改后的值传出函数体。