Please don't use retain, it's old syntax for the implicit strong, just use (nonatomic)