У меня есть следующий фрагмент кода:NSString * к CFStringRef приводит бесполезный массив символов
-(CFStringRef)setupFileName:(NSString*)_name :(NSString*)_extension
{
NSString* tmpName = [_name stringByAppendingString:_extension];
CFStringRef ref = (__bridge CFStringRef)tmpName;
return ref;
}
Когда я нарушу на обратном заявлении, ссылка содержит правильные данные, хорошую строку с расширением. Но когда я использую это так:
CFStringRef tickWav = [self setupFileName:_name :kTick];
Это приводит к бесполезной цепочке символов. Есть ли что-то, искажающее мою кодировку, когда я возвращаю правильное значение из функции? Что я могу сделать?
Не связано с вами вопрос, но ... Я настоятельно рекомендую назвать ваш метод со всеми параметрами: '- (CFStringRef) setupFileName: (NSString *) _ name withExtension: (NSString *) _ extension', а также избегать '_' для такого рода var. Кроме того, почему 'stringByAppendingString:' вызов при назначении 'tmpName' между скобками? – Larme
Это было в скобках, потому что приведение в CFStringRef произошло раньше. Вы знаете решение моей проблемы? – bob