Diferença entre declarar um ivar em @interface e colocar variável em @ deployment

Qual é a diferença entre declarar um ivar dentro de um@interface versus colocar uma variável dentro de um@implementation em um arquivo .m?

@interface MyClass : NSObject {
  int num;
}
- (void)doSomething;
@end

vs.

@implementation MyClass   
int num2;

- (void)doSomething {
  num = 137;
  num2 = 138;
}
@end

Existe sempre um momento em que você deseja colocar uma variável dentro do@implementation?

questionAnswers(3)

yourAnswerToTheQuestion