ivar (первая) - это простая переменная, к которой нельзя получить доступ за пределами реализации интерфейса, в котором она создана (если используется директива @private), и не имеет синтезированных методов доступа.
Свойство (второе) представляет собой обернутый ivar, и к нему всегда можно получить доступ через создание экземпляра класса и синтезировать методы доступа (если используется директива @synthesize)
MyClass *class = [[MyClass alloc] init];
[class setMyString:@"someString"]; //generated setter
NSString *classString = [class myString]; //generated getter