Что такое __CFString? - PullRequest
       26

Что такое __CFString?

0 голосов
/ 22 марта 2011

У меня есть arg1, который является сообщением.IMessage определяется как:

struct IMessage {
    ...
    struct CFString _field2;
    ...
};

, а CFString определяется как:

    struct CFString {
    void **_vptr$CFObject;
    struct __CFString *mCFRef;
    _Bool mIsMutable;
};

, а __CFString определяется как:

struct __CFString;

Моя цель - получитькакая-то строка, будь то NSString или CFStringRef из arg1, так как я могу это сделать?Спасибо.

Вот ошибка, которую я получаю, когда пытаюсь выполнить 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)

1 Ответ

1 голос
/ 22 марта 2011

Я не знаю, откуда вы это взяли, но CFStringRef определен как struct __CFString *const, поэтому у вас уже есть что-то, что выглядит эквивалентно.

...