0

ArrayController를 사용하여 NSTableView로 버켓의 내용을로드하려고했습니다. 이 오류로 인해 끝났습니다.[__NSCFString objectAtIndex :] : 인식 할 수없는 선택기가 인스턴스로 전송 됨 오류

-[__NSCFString objectAtIndex:]: unrecognized selector sent to instance 0x1006da970  

다음은 내가 확인하는 코드입니다.

- (IBAction)checkCloud:(id)sender { 

    AmazonS3Client *s3 = [AmazonClientManager s3]; 

    S3ListObjectsRequest* listObjectsRequest = [[S3ListObjectsRequest alloc] initWithName:@"hello-testing"]; 

    NSMutableArray *fileListCloud = [[NSMutableArray alloc] init]; 
    NSMutableArray *fileModifiedList = [[NSMutableArray alloc] init]; 

    @try { 


    S3ListObjectsResponse* response = [s3 listObjects:listObjectsRequest]; 

    NSMutableArray* objectSummaries = response.listObjectsResult.objectSummaries; 
    for (S3ObjectSummary* objSummary in objectSummaries) { 

     [fileListCloud addObject:[objSummary key]]; 
     [fileModifiedList addObject:[objSummary lastModified]]; 




     } 
    } 
    @catch (NSException *exception) { 
     NSLog(@"Cannot list S3 %@",exception); 
    } 


    [self loadFileListTable:fileListCloud andFileModificationDate:fileModifiedList]; 

    } 


    -(void)loadFileListTable:(NSMutableArray *)fileListArray andFileModificationDate:(NSMutableArray *)modifiedArray{ 

     NSRange range = NSMakeRange(0, [[_fileListAC arrangedObjects] count]); 
     [_fileListAC removeObjectsAtArrangedObjectIndexes:[NSIndexSet indexSetWithIndexesInRange:range]]; 

     for(int i = 0 ; i<[fileListArray count];i++){ 
      [_fileListAC addObject:[NSMutableDictionary dictionaryWithObjectsAndKeys:[[fileListArray objectAtIndex:i] objectAtIndex:0],@"Files",[[modifiedArray objectAtIndex:i] objectAtIndex:1],@"Date Modified", nil]]; 

     } 
     } 

배열에는 파일 이름이로드되지만 배열 컨트롤러에 추가하면 위에 언급 한 오류가 발생합니다. 어떤 도움이라도 정말 좋을 것입니다.

+0

변경'[_fileListAC addObject : ...'라인은 여러 개의 문으로 그것을 어기면 읽고 디버깅하기가 훨씬 쉬울 것입니다. 배열이라고 생각되는 객체 중 하나가 실제로 문자열입니다. – Anna

답변

3

[[fileListArray objectAtIndex:i] objectAtIndex:0] 
[[modifiedArray objectAtIndex:i] objectAtIndex:1] 

[fileListArray objectAtIndex:i] 여기

및 (나는 그들이 모두 NSStrings 생각) NSArrays 수 없습니다.

오류가있는 objectAtIndex:0objectAtIndex:1 메시지를 제거하기 만하면됩니다.

2

여기

[_fileListAC addObject:[NSMutableDictionary dictionaryWithObjectsAndKeys:[fileListArray objectAtIndex:i],@"Files",[modifiedArray objectAtIndex:i], @"Date Modified", nil]]; 
관련 문제