ключевое слово self используется, когда мы используем свойство getter / setter вместо прямого доступа к значению. когда оно генерируется ключевым словом синтеза, вы должны использовать self, потому что объект сохраняется там, а не просто назначается указателем.