0
unsigned char _MyString[] = {0xda, 0xe5, 0x18, ..., 0x00};
CFArrayRef array = CFArrayCreate(NULL,
(const void**) CFStringCreateWithBytes(NULL,
_MyString,
sizeof(_MyString),
kCFStringEncodingASCII,
FALSE),
1,
&kCFTypeArrayCallBacks);
CFShow(arr); // <-- EXEC_BAD_ACCESS ERROR
調試器顯示其未能在CFArray與CFCreateArray創建訪問時崩潰
CoreFoundation`CFGetTypeID:
從調試器輸出
__NSCFString
( lldb)
我不知道內存錯誤的位置,我認爲這一定是由於在CFArrayCreate()中傳遞字符串。
並將該溶液是將CFString字符串存儲到另一個變量,則指針傳遞給該變量,由於CFArrayCreate希望含有'numValues'對象的指針存儲,並且當要創建一個對象的陣列,一普通變量計爲包含一個對象的存儲。 –