I'm not entirely sure what

```
NSString * fileName = [self cachedFileNameForKey:[urlString componentsSeparatedByString:@"?"][0]];

```

Means from this code. I am primely writing in Swift so this notation is a bit confusing for me. What does the double [ ] notation mean? 3d array?

```
+ (AVPlayerItem *)localDownloadedVideoFromUrl:(NSURL *)url {
      NSString * urlString = url.absoluteString;
      NSString * fileName = [self cachedFileNameForKey:[urlString componentsSeparatedByString:@"?"][0]];
      TWRDownloadManager * manager = [TWRDownloadManager sharedManager];
      if ([manager fileExistsWithName:fileName]) {
           AVPlayerItem * item = [AVPlayerItem playerItemWithURL:[NSURL fileURLWithPath:[manager localPathForFile:fileName]]];
           return item;
      }
      return [NSNull null];
   }

```