2011-04-18 61 views

回答

13

裹在NSValue的結構:

MapCellSt x; 
NSValue* value = [NSValue value:&x withObjCType:@encode(MapCellSt)]; 

要在以後提取它:

[value getValue:&x]; 
+0

我做了這個解決方案,但它給出了一個錯誤的訪問錯誤 – 2014-09-01 12:47:59

-2

雅不能。

只有真正的Obj-C對象可以直接添加到NSMutableArray和朋友;爲了做你所描述的你將不得不用你想要使用的結構的屬性創建一個類。

編輯:正如Tamás所說,你也可以使用NSValue;但很可能爲您的MapCell創建一個類是一個更好的主意。

0

使用NSMutableDictionary而不是NSMutableArray

typedef struct {...} MyStruct;

NSMutableString* myKey = [NSMutableString stringWithString:@"MyKey"]; 
NSValue *myStructPtr = [NSValue value:&myStruct withObjCType:@encode(MyStruct)]; 
[myMutableDictionary setObject:myStructPtr forKey:myKey];