iOS устанавливает свойство после задержки - PullRequest
1 голос
/ 14 декабря 2011

Есть ли способ установить свойство после задержки? Такие как:

// Compiler hates this
[self performSelector:@selector(imageView.image) withObject:[UIImage imageNamed:newImage] afterDelay:0.5];

Или мне нужно создать новый метод для вызова установки свойства? Вышесказанное кажется таким простым.

Ответы [ 2 ]

6 голосов
/ 14 декабря 2011

Да по умолчанию имя установщика для свойства с именем image будет setImage.

[imageView performSelector:@selector(setImage:) withObject:[UIImage imageNamed:newImage] afterDelay:0.5];

Если вы не установите метод сеттера, он сгенерируетметод с префиксом set затем верблюжий, и он примет параметр своего типа.

Пример.

@property(assign) id object;
//becomes
-(id)object {...} // getter
-(void)setObject:(id)inObject {...} //setter
5 голосов
/ 14 декабря 2011

В качестве альтернативы используйте dispatch_after.Если вы наберете dispatch_after и запросите завершение кода, вы получите три строки стандартного кода и место для размещения вашего фактического кода в блоке.В этом блоке imageView.image= является законным.Не забудьте изменить время задержки по умолчанию с 2 секунд (вроде большой задержки!).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...