0

検証チェックを行って、copydItems 配列に何かが含まれていることを確認すると、次のエラーが表示されます: 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 に答える