Как ругается? Скопируйте ошибку.
если
_counter = [[_myArray count] intValue];
то bad receiver type nsuinteger aka int
Потому что intValue - метод, которого нет у простого типа nsuinteger
Лечится 2мя способами
1. Заведомо указать тип:
self.counter = (int)[self.myArray count];
2. Не использовать устаревший int, а использовать NSInteger, в конкретно вашем примере NSUInteger
@property (nonatomic) NSUInteger counter;
UPD. Личное мнение: если только начинаете, то начинайте со swift'а. По нему сейчас больше информации и он актуальнее.