Ну, вы ОБЪЯВЛЯЕТЕ переменную экземпляра свойства в файле .h, а также само свойство. Интерфейс для свойства, а также переменная экземпляра, которую он будет использовать, были установлены с этим ... его реализация не имеет. Вот тут и появляется ключевое слово @synthesize. Оно просто реализует свойство для вас, так что вам не нужно писать его самостоятельно.
Вот способы объявить свойства в C #
private int _int1;
public int int1 {
get { return _int1; }
set { _int1 = value; }
}
Это довольно распространенный фрагмент кода, и C # позволяет сокращать его, чтобы не вводить одно и то же снова и снова
public int int1 { get; set; }
Разница между этими двумя сегментами кода заключается в том, что частная переменная "_int1" не существует в последнем, поскольку C # создает переменную внутри. Ключевое слово @synthesize хорошо, потому что оно избавляет вас от необходимости записывать один и тот же код снова и снова, в то же время позволяя получить доступ к переменной экземпляра, на которой он основан.
Редактировать. Также важно отметить, что геттеры и сеттеры существуют в цели C. Они просто имеют разные имена, чем в C #, где они помечены как get {} и set {}. В задаче C метод получения - это метод с тем же именем, что и у его переменной экземпляра, а метод установки - это метод со словом «set», за которым следует имя переменной экземпляра с заглавной буквой.
Итак, допустим, у вас есть это в вашем .h файле
int myVar;
...
@property(nonatomic, assign) int myVar;
Вы можете самостоятельно реализовать методы получения и установки в файле .m
-(int)myVar {
return myVar;
}
-(void)setMyVar:(int)newVar {
myVar = newVar;
}
или вы можете просто использовать @synthesize для автоматической записи метода получения и установки