Вот часть определения класса в программе iOS, использующей подсчет ссылок (ARC):
@interface CapViewController : UIViewController
{
NSString *bottomBn;
NSString *topBn;
}
@property (nonatomic, strong) NSString *bottomBn;
@property (nonatomic, strong) NSString *topBn;
@end
В реализации я синтезирую их:
@implementation CapViewController
@synthesize bottomBn;
@synthesize topBn;
Проблема заключается в том, когдаЯ пытаюсь присвоить значения.Если я перейду следующие строки в методе класса (каждый раз будет использоваться каждая переменная экземпляра):
bottomBn = [NSString stringWithString:@"bottomBn"];
topBn = [NSString stringWithString:@"topBn"];
После выполнения первой строки значение topBn становится @ "bottomBn", а bottomBn -nil Вторая строка не оказывает влияния.
Если я изменяю порядок, переменные экземпляра определяются в классе, то есть:
NSString *topBn;
NSString *bottomBn;
, тогда первое назначение не имеет никакого эффекта, а второе назначениев результате topBn присваивается bottomBn.
Используя локальные переменные, он работает как положено:
NSString *localbottomBn = [NSString stringWithString:@"defaultbottombutton"];
NSString *localtopBn = [NSString stringWithString:@"defaulttopbutton"];
Мне кажется, это странное поведение.Буду признателен за любую помощь.