What does 'release' means in this situation on iPhone?

前端 未结 2 976
野的像风
野的像风 2021-01-21 02:35

I want to ask a stupid question about the iPhone application. I am the green of the iPhone app. I read the following code in the Apple website.

    MyViewControl         


        
2条回答
  •  面向向阳花
    2021-01-21 02:54

    Whenever you call alloc, you own a reference to the object that comes back, and you must call release to indicate that you no longer intend to use that reference.

    In the above case, you have allocated a new view controller and assigned it to a property of your class. Assuming the property is declared with the retain option, the property will acquire its own reference to the view controller by called retain on it. So there are now two active references to it. The property will eventually release its reference (either when it is assigned a different view controller, or when your class is finalised). But if you don't call release yourself, one reference will remain, and the view controller will never be freed.

    In short, you must match every alloc with a release, otherwise things will leak.

提交回复
热议问题