1.OC类型(int, NSString*, NSView*, id)和void*相互转换:
//NSArray* -- void*
NSArray* array;
void* p = (__bridge void*)array;
NSArray* array2 = (__bridge id) p;
//NSView* -- void*
NSView* view;
void* pView = (__bridge void*)view;
NSView* view2 = (__bridge id)pView;
//int -- void*
int a;
void* p = &a;
int b = *((int*)p);
//NSArray* -- std::string
NSArray* array;
std::string str = [array UTF8String];
array = [NSString stringWithUTF8String:str.c_str()];
//std::string -- int (C++)
std::string str;
int a = (int)strtol(str.c_str(), NULL, 10);
char tmp[100];
snprintf(tmp, sizeof(tmp), "%u", a);
str = tmp;
本文详细介绍了在C++和Objective-C中不同类型如int, NSString*, NSView*, id与void*之间的转换方法,包括NSArray到void*,NSView*到void*,int到void*的转换,以及NSArray与std::string之间的互转。同时,还展示了将std::string转换为int的C++实现。

618

被折叠的 条评论
为什么被折叠?



