I had a look at instruments and I saw that the alloc increased the retain count by 1. So far everything clear. But the assignment of the class to my property also increased the retain count to 2.

```
self.myProperty = [[MyClass alloc] init]

```

Vs.

```
MyClass *myCreatedVariable = [[MyClass alloc] init];
self.myProperty = myCreatedVariable

```

To decrease the retain count to zero I released myCreatedVariable right after my calls. The myProperty instance variable is released in the dealloc method. Am I right that a property only is released in the dealloc method?

**Now to my question:**

Is the allocation and the assignment to a property always creating a retain count of 2? So don't use

```
self.myProperty = [[MyClass alloc] init]

```

because the retain count is never getting zero? Or is this only the case if I'm allocating a class?

Cheers