Как мне связать пару ключ-значение с UIView на iPhone? - PullRequest
8 голосов
/ 30 декабря 2008

Когда я начинал разработку для iPhone, я где-то читал, что к UIView можно добавить пару ключ-значение. Я понял, что все UIViews могут быть использованы в качестве словарей для хранения любых данных, которые вы, возможно, захотите привязать к ним, чтобы предотвратить ненужные подклассы. Тем не менее, я искал повсюду, чтобы найти ссылку, и сам пытался реализовать поведение напрасно.

Я пробовал такие вещи, как:

UIView *myView = [[UIView alloc] init];
[myView setValue:@"hello" forKey:@"world"];

но это не похоже на работу. Я думаю, что то, что делает приведенный выше код, пытается присвоить значение @ "hello" свойству @ "world" - а это не то, что я хочу.

Возможно ли то, что я пытаюсь достичь?

Любая помощь здесь будет высоко ценится.

Спасибо!

Ник.

1 Ответ

23 голосов
/ 30 декабря 2008

UIViews не совместимы по значению ключа с универсальными ключами. Если бы они были, то ваш пример кода действительно установил бы значение @ "hello" для ключа @ "world". Однако layer соответствуют значению ключа, поэтому будет работать следующее:

UIView *myView = [[UIView alloc] init];
[myView.layer setValue: @"hello" forKey: @"world"];
...