NSArrayM objectAtIndex:]:检查NSPasteboard时,索引0超出了空数组的界限



当我进行检查以确保copiedItems数组中有它时,我收到错误:NSArrayM objectAtIndex:]:index 0超出空数组的界限

NSArray *classes = [[NSArray alloc] initWithObjects:[NSString class], nil]; NSDictionary *options = [NSDictionary dictionary];
NSArray *copiedItems = [pasteboard readObjectsForClasses:classes options:options];
 if ([copiedItems objectAtIndex:0]!= nil){
        NSString *copiedString = [copiedItems objectAtIndex:0];

原来是我的检查导致了错误。通过调用[copiedItems objectAtIndex:0],我当时正在访问数组,而不是先查看它是否有效(我的初衷)。通过将[copiedItems objectAtIndex:0]更改为if ([copiedItems count]> 0)在进行验证之前,我无法访问copiedItems。

@H2CO3:[array objectAtIndex:index] != nil的良好扩展没有意义——NSArray不能包含零

最新更新