0

Arraycontroller を使用してバケットの内容を NSTableView に読み込んでみました。私はこのエラーで uo を終了しました:

   -[__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]];

        }
      }

配列はファイル名でロードされますが、配列コントローラーに追加すると、上記のエラーがスローされます。どんな助けでも本当に素晴らしいでしょう。

4

2 に答える 2

3

ここ

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

[fileListArray objectAtIndex:i]NSArraysで[modifiedArray objectAtIndex:i]はありません (両方とも NSStrings だと思います)。

objectAtIndex:0エラーとobjectAtIndex:1メッセージを削除するだけです。

于 2012-12-21T03:17:59.623 に答える
2

ここで変更

[_fileListAC addObject:[NSMutableDictionary  dictionaryWithObjectsAndKeys:[fileListArray objectAtIndex:i],@"Files",[modifiedArray objectAtIndex:i], @"Date Modified", nil]];
于 2012-12-21T04:34:08.747 に答える