2013-07-11 113 views
4

我檢查,如果該目錄存在,但我得到一個警告不兼容的整數指針轉換

不兼容的整數指針轉換髮送「BOOL」(又名「簽署 字符」),以類型的參數「BOOL * 「(又名 '符號字符*')

BOOL isFile ; 
isFile = [[NSFileManager defaultManager] fileExistsAtPath:[dirurl path] isDirectory:YES]; 

爲什麼我得到這樣的警告,以及如何解決它

+4

從錯誤看起來你聲明的'isFile'像 'BOOL * ISFILE;'從而使其成爲一個指針。 – rckoenes

+1

不,看起來,他需要一個指針而不是他現在擁有的值。 –

回答

9

使用這樣的:

BOOL isDir; 
BOOL isFileExists; 

isFileExists = [[NSFileManager defaultManager] fileExistsAtPath:[dirurl path] isDirectory:&isDir]; 
if (isDir) {...} 

正式文件例如developer.apple.com

NSArray *subpaths; 
BOOL isDir; 

NSArray *paths = NSSearchPathForDirectoriesInDomains 
        (NSLibraryDirectory, NSUserDomainMask, YES); 

if ([paths count] == 1) { 

    NSFileManager *fileManager = [[NSFileManager alloc] init]; 
    NSString *fontPath = [[paths objectAtIndex:0] stringByAppendingPathComponent:@"Fonts"]; 

    if ([fileManager fileExistsAtPath:fontPath isDirectory:&isDir] && isDir) { 
     subpaths = [fileManager subpathsAtPath:fontPath]; 
// ... 
[fileManager release]; 
+0

是的工作,非常感謝,並感謝您的解釋 – skcrpk

+0

歡迎您) – torip3ng

+1

非常感謝。這是一個神祕的實現。我發誓他們會這樣做,讓我們的生活變得悲慘。 –

相關問題