17818
画面遷移の際の

```

    classViewController.records = [[LessonManager sharedManager].lessons[self.collectionView.indexPathsForSelectedItems]records];
    
```

で

```

    Expected method to read dictionary element not found on object of type NSMutableArray
    
```

と警告が発生します 印はLessonManagerのところについています。

どのように直せばいいのでしょうか。
CC BY-SA 3.0
2015-10-17T07:02:18.477
17747
2015-10-19T10:59:37.237
2015-10-17T11:54:06.453
5519
8802
question
objective-c iphone
Expected method to read dictionary element not found on object of type NSMutableArrayの警告が出ます。
`UICollectionView`の`- (NSArray
*)indexPathsForSelectedItems;`は`NSArray`を返します（複数セルの選択に対応している）。`NSArray`なのでそのままでは`lessons`プロパティの添え字として利用できません。

コレクションビューで複数選択を禁止しているなら中身は空か１つだけ入ってるかのどちらかなので、`firstObject`メソッドなどで配列から取り出して、空でなければ添え字として利用する、といった処理になると思います。

```

    NSIndexPath *selectedIndexPath = self.collectionView.indexPathsForSelectedItems.firstObject;
    if (selectedIndexPath) {
        classViewController.records = [[LessonManager sharedManager].lessons[selectedIndexPath.item] records];
    }
    
```
CC BY-SA 3.0
2015-10-19T10:59:37.237
17818
2015-10-19T10:59:37.237
5519
17747
answer