0

当我进行检查以确保copyedItems 数组中包含某些内容时,我收到错误:NSArrayM objectAtIndex:]: index 0 beyond bounds for empty array

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];
4

1 回答 1

1

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

@H2CO3 的一个很好的扩展:[array objectAtIndex:index] != nil没有意义 - NSArrays 不能包含 nil

于 2013-07-28T05:29:58.827 回答