Приведение CFDictionaryRef с указателем? - PullRequest
1 голос
/ 11 августа 2011

У меня есть код (упрощенный):

#define kSendBufferSize 32768
UInt8 listingBuffer[kSendBufferSize];
NSDictionary *currentListing; 
CFIndex bufferLength;
CFDictionaryRef currentListingRef;
CFFTPCreateParsedResourceListing(kCFAllocatorDefault, listingBuffer, bufferLength, currentListingRef);
currentListing = (__bridge NSDictionary *) currentListingRef;

в последней строке я получаю следующее предупреждение в XCode:

"Incompatible pointer types passing 'CFDictionaryRef' (aka 'const struct __CFDictionary *')
 to parameter of type 'CFDictionaryRef *' (aka const struct __CFDictionary **')"

Проблема в том, что мне нужно объявить CFDictionaryRef без указателя, чтобы эта строка работала правильно: (см. Приведение CFDictionaryRef в NSDictionary? )

currentListing = (__bridge NSDictionary *) currentListingRef;

Заранее спасибо.

1 Ответ

0 голосов
/ 11 августа 2011

Я разобрался со своим ответом через другой форум.Ключ должен использовать оператор & при пропуске CFDictionaryRef через CFFTPCreateParsedResourceListing.Например:

CFFTPCreateParsedResourceListing(kCFAllocatorDefault, listingBuffer, bufferLength, &currentListingRef);
...