在 NSValue 中获取对 NSObject 的引用

Get reference to the NSObject in an NSValue

我有一个 NSMutableDictionary,其中包含 UIImageView 个对象和 UIView 个键。

当我将 UIImageView 设置为 NSMutableDictionary 时,我会像这样从 UIView 中得到 NSValue

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

我想知道是否可以通过 NSValue 对象获取 UIView 引用。像这样:

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

操作方法如下:

NSValue * myViewKey = [NSValue valueWithNonretainedObject:myView];
UIView * myViewFromValue = (UIView*) myViewKey.nonretainedObjectValue

对于每个 valueWith<Type>: 方法,NSValue 都有一个补充方法,returns 以适当的类型存储值。

您需要的是nonRetainedObjectValue

UIView * theView = [theValue nonRetainedObjectValue];