2013-06-18 86 views
-5

這可能很簡單。我想知道如果你可以將一個對象作爲參數傳遞給一個函數,那麼函數可以對該對象進行操作,然後返回相同的對象。我有這方面的工作,但想知道是否有辦法做到這一點。Objective-C:將對象作爲參數並返回函數中的對象

一個例子:

-(objectA *)aFunctionWithParameter:(objectA *)param 
{ 
    //...Operate on param 

    return param; 
} 
+1

你試過了嗎?有沒有工作?解決方法? – Wain

+2

是的。您可以。工作正常。什麼是錯誤? – bbum

+0

Euh,當前代碼究竟有什麼問題? – 2013-06-18 16:29:48

回答

0

是的,你可以做到這一點。 在Objective-C中,指針是通過引用傳遞的。因此,當您更改作爲函數參數接收的對象的任何文件時,您正在修改實際對象。在返回它時,你將有更新的對象。

+4

不,在Objective-C *對象*中通過引用傳遞。指針本身是按值傳遞的,它們*是對傳遞對象的引用。 – Caleb

+0

@Caleb所以,如果在param上執行操作,在該方法存在之後,我可以在param上看到更新嗎?當然,我可以自己試試看! – Hamid

+0

@Hamid'param'具有'objectA *'類型,即它是一個指向類objectA的實例的指針。 *指針*是通過值傳遞的,這是另一種說*對象*是通過引用傳遞的方式(因爲'param'是對象的引用)。如果該函數使用'param'來訪問該對象,則在該函數退出後,它所做的任何更改當然都會保留。如果函數本身改變了指針「param」,例如使其指向某個其他對象,該功能退出後該更改不會持續。 – Caleb