我有一个IMessage的arg1。IMessage定义为:
struct IMessage {
...
struct CFString _field2;
...
};并且CFString被定义为:
struct CFString {
void **_vptr$CFObject;
struct __CFString *mCFRef;
_Bool mIsMutable;
};并且__CFString被定义为:
struct __CFString;我的目标是从arg1获取某种类型的字符串,不管是NSString还是CFStringRef,那么我该怎么做呢?谢谢。
以下是我尝试nslog mCFRef时收到的错误:
Thread 0 crashed:
# 1 0x97b41edb in _objc_msgSend + 0x0000001B (libobjc.A.dylib + 0x00005edb)
# 2 0x9610b5f2 in __CFStringAppendFormatAndArgumentsAux + 0x00000C42 (CoreFoundation + 0x0002c5f2)
# 3 0x9610a979 in __CFStringCreateWithFormatAndArgumentsAux + 0x00000069 (CoreFoundation + 0x0002b979)
# 4 0x961b3a3e in __CFLogvEx + 0x0000008E (CoreFoundation + 0x000d4a3e)
# 5 0x9415387c in _NSLogv + 0x0000008F (Foundation + 0x0009487c)
# 6 0x941537eb in _NSLog + 0x0000001B (Foundation + 0x000947eb)发布于 2011-03-23 03:53:04
我不知道你是从哪里得到这个的,但是CFStringRef被定义为struct __CFString *const,所以你已经有了一个看起来等价的东西。
https://stackoverflow.com/questions/5396873
复制相似问题