Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to wrap a Struct into NSObject

this is supposed to be trivial… I think, but I can't find a way how to wrap a Struct variable into an NSObject. Is there a method to do so? If not, how would I go about adding a struct into an NSMutableArray?

Thanks.

like image 779
GeneCode Avatar asked Apr 17 '11 06:04

GeneCode


1 Answers

Hm, try to look at the NSValue at https://developer.apple.com/documentation/foundation/nsvalue

You can use it like

struct aStruct {     int a;     int b; }; typedef struct aStruct aStruct; 

Then sort of "wrap" it to an NSValue object like:

aStruct struct; struct.a = 0; struct.b = 0; NSValue *anObj = [NSValue value:&struct withObjCType:@encode(aStruct)]; NSArray *array = @[anObj]; 

To pull the struct out from NSValue use:

NSValue *anObj = [array firstObject]; aStruct struct; [anObj getValue:&struct]; 

I guess later on, you can have a category from NSValue to make that better =D

like image 86
Rpranata Avatar answered Sep 23 '22 02:09

Rpranata