2012-11-08 10 views
1

번호를하기 kCFFTPResourceType 비교의 목록 기능 :내가 FTP 다운로드 시스템을 쓰고 있어요

{ 
    kCFFTPResourceGroup = group; 
    kCFFTPResourceLink = ""; 
    kCFFTPResourceModDate = "2012-11-04 15:49:00 +0000"; 
    kCFFTPResourceMode = 511; 
    kCFFTPResourceName = "eyeview__0000_sport_general.jpg"; 
    kCFFTPResourceOwner = owner; 
    kCFFTPResourceSize = 169790; 
    kCFFTPResourceType = 8; 
}, 
    { 
    kCFFTPResourceGroup = group; 
    kCFFTPResourceLink = ""; 
    kCFFTPResourceModDate = "2012-11-04 15:49:00 +0000"; 
    kCFFTPResourceMode = 511; 
    kCFFTPResourceName = "eyeview__0001_sport_reading.jpg"; 
    kCFFTPResourceOwner = owner; 
    kCFFTPResourceSize = 224795; 
    kCFFTPResourceType = 8; 
}, 

내가하고자하는 다음 일은이다 : 나는 서버 내 파일을 볼 수

NSLog(@"%@", listDir.filesInfo); 

:

for (NSDictionary *file in listDir.filesInfo) 
    { 
     NSLog(@"%@", [file objectForKey:(id)kCFFTPResourceName]); //Prints the file name 

     if ([file objectForKey:(id)kCFFTPResourceType]==8) //*My problem 
     { 
      [filesList addObject:[file objectForKey:(id)kCFFTPResourceName]]; //Works perfectly in case outside the if function 
     } 


    } 

* 내 문제는 비교가 잘못되었으므로 어떻게 작성하면됩니까?

답변

1

[file objectForKey:]int을 반환하지 않습니다. NSNumber (일명 CFNumberRef)을 반환합니다.

데모 다음 kCFFTPResourceType 정보가 필요할 때

NSNumber * n = [file objectForKey:(id)kCFFTPResourceType]; 
const int i = n.intValue; 
if (8 == i) { 
    [filesList addObject:[file objectForKey:(id)kCFFTPResourceName]]; 
} 
관련 문제