ios中處理錯誤為什么傳遞的是&error,而不是error?
& 是用來傳地址的
因為 需要將error 傳入后修改其值,然后再返回來,返回來后還要保證己經修改過了。
&error傳入是傳的地址引用,傳入后處理函數直接訪問變量的地址,可以修改其值再返回同一個地址, 調用函數就可以知道值是否有修改,即是否有錯
而error傳入是傳的值引用,值引用傳入到程序棧中后其實是把原來的值復制了一份傳過去,處理函數可以修改,但無法將改后的值傳出函數體。
ios中處理錯誤為什么傳遞的是&error,而不是error?
因為 需要將error 傳入后修改其值,然后再返回來,返回來后還要保證己經修改過了。
&error傳入是傳的地址引用,傳入后處理函數直接訪問變量的地址,可以修改其值再返回同一個地址, 調用函數就可以知道值是否有修改,即是否有錯
而error傳入是傳的值引用,值引用傳入到程序棧中后其實是把原來的值復制了一份傳過去,處理函數可以修改,但無法將改后的值傳出函數體。