2017-04-21 9 views

答えて

4

valueはObjective-Cオブジェクトである必要があります。 Objective-Cクラスで構造体をラップする必要があります。これにはNSValueを使用できます。

StructType s = ...; 
NSValue* value = [NSValue valueWithBytes:&s objCType:@encode(StructType)]; 
objc_setAssociatedObject(obj, SPECIAL_KEY, value, OBJC_ASSOCIATION_RETAIN_NONATOMIC); 

... 

NSValue* value = objc_getAssociatedObject(obj, SPECIAL_KEY); 
StructType s; 
[value getValue:&s]; 
関連する問題