переменные экземпляра в @interface; заголовок против реализации
Есть ли разница между объявлением закрытой переменной экземпляра в заголовке и объявлением ее в реализации?
в TestObj.h
@interface TestObj : NSObject
{
int test;
}
@end
vs в TestObj.m
@interface TestObj()
{
int test;
}
@end
И то, и другое мне кажется эквивалентным, есть ли какая-то реальная разница между объявлением переменной экземпляра в заголовке и реализацией, если нет, то какая является предпочтительной?@interface
в файле реализации просто кажется способом объявить частные свойства, есть ли у него какая-то другая цель помимо этого?