2012-01-26 17 views

Odpowiedz

8

Zamiast tego należy użyć attributesOfItemAtPath:error:.

+0

'attributesOfItemAtPath: error: 'nie obsługuje dowiązania. Twoja sugestia nie ma więc takiego zachowania jak "traverseLink: YES" z pytania. –

0

Rozważania specjalne

Ponieważ metoda ta nie zwraca informacje o błędzie, został on wycofany z Mac OS X 10.5. Użyj atrybutu setAttributes: ofItemAtPath: error: zamiast.

link

+0

'attributesOfItemAtPath: error:' nie obsługuje dowiązania symbolicznego. Twoja sugestia nie ma więc takiego zachowania jak "traverseLink: YES" z pytania. –

0

należy zapoznać documentation:

fileAttributesAtPath:traverseLink:

Returns a dictionary that describes the POSIX attributes of the file specified at a given. (Deprecated in Mac OS X v10.5. Use attributesOfItemAtPath:error: instead.)

+0

'attributesOfItemAtPath: error:' nie obsługuje dowiązania symbolicznego. Twoja sugestia nie ma więc takiego zachowania jak "traverseLink: YES" z pytania. –

4

użycie attributesOfItemAtPath:error:

NSError* error; 
NSDictionary* attr = [[NSFileManager defaultManager] attributesOfItemAtPath:file error:&error]; 
+0

'attributesOfItemAtPath: error:' nie obsługuje dowiązania symbolicznego. Więc twój kod nie ma takiego samego zachowania jak 'traverseLink: YES' z pytania. –

1

Zaakceptowanych odpowiedź zapomniał obsłużyć traverseLink:YES z pytaniem.

Ulepszony odpowiedź korzysta zarówno attributesOfItemAtPath:error: i stringByResolvingSymlinksInPath:

NSDictionary* attr = [[NSFileManager defaultManager] attributesOfItemAtPath:[file stringByResolvingSymlinksInPath] error:nil]; 
Powiązane problemy