Получить ссылку на NSObject в NSValue

У меня есть NSMutableDictionary который содержит UIImageView объекты и UIView ключи.

Когда я устанавливаю UIImageView к NSMutableDictionary Я получаю NSValue из UIView как это:

[viewImageMap setObject:anImage forKey:[NSValue valueWithNonretainedObject:aView]];

Я хочу знать, могу ли я получить UIView ссылка обратно с NSValue объект. Что-то вроде этого:

UIView *aView = (UIView *)[NSObject objectWithValue:aValue];

2 ответа

Решение

Для каждого valueWith<Type>: метод, NSValue имеет дополнительный метод, который возвращает сохраненное значение в соответствующем типе.

Тот, который вам нужен nonRetainedObjectValue,

UIView * theView = [theValue nonRetainedObjectValue];

Вот как это сделать:

NSValue * myViewKey = [NSValue valueWithNonretainedObject:myView];
UIView * myViewFromValue = (UIView*) myViewKey.nonretainedObjectValue
Другие вопросы по тегам