CFURLRef уже является указателем - он объявлен как:
typedef const struct __CFURL *CFURLRef;
В общем, вы захотите использовать тип CFURLRef
без * при объявлении переменной для хранения URL.Большинство (или все?) Объектов Core Foundation определены таким образом, и вы можете предположить, что тип, оканчивающийся на Ref
, является указателем.
Так что, если вы хотите получить массив из 10 URL, вам следуетнапишите что-то вроде:
CFURLRef sourceURLArray[10];
//... populate the array.
// Get a particular URL out of the array:
CFURLRef ref = sourceURLArray[0];
Возможно, это немного запутывает то, что аналог Objective-C, NSURL
, , нуждается в *
, чтобы указатель был такимвсе объекты какао.Таким образом, вы бы написали что-то вроде:
NSURL *sourceURLArray[10];
...
NSURL *url = sourceURLArray[0];
Наконец, вам может быть проще использовать NSArray
из NSURL
объектов, чем использовать простые массивы C:
NSArray *sourceURLs = [NSArray arrayWithObjects:...];
NSURL *url = [sourceURLs objectAtIndex:0];