Получить ссылку на 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