@property
и @synthesize
предоставляют методы getter и setter (accessors), а не вам приходится писать их самостоятельно.Объявление сделано с @property
, и оно реализовано с @synthesize
.
Таким образом, в основной программе при создании нового объекта класса (при условии, что ваш класс называется MyClass
с MyClass.m
, MyClass.h
), вы можете получить доступ к вашей строковой переменной myString
, используяТочечный оператор.Если ваш объект называется NewObject
, то вы можете получить доступ к строке внутри основной программы с помощью NewObject.MyString
.
Вы также можете использовать это, чтобы установить значение для строки (например, NewObject.MyString = OtherString
).Очень удобно и экономит время.Они оба работают, потому что вы обращаетесь к переменным внутри класса, и поэтому вам не нужно устанавливать методы доступа.
Для -(void)dealloc
вам также нужно [super dealloc]
внутри, чтобы освободить переменныесуперкласс.Вам не нужно выпускать MyString
в viewDidUnload
, как вы это сделали в методе -(void)dealloc
.
Когда вы выделяете память в -(void)viewDidLoad
, вам нужно освободить ее в -(void)viewDidUnload
, но у вас ее нет, так что она не нужна.