Objective c 不兼容的指针类型发送';NSArray';至类型为'的参数;NSString';

Objective c 不兼容的指针类型发送';NSArray';至类型为'的参数;NSString';,objective-c,nsstring,nsarray,Objective C,Nsstring,Nsarray,我是个新手。我正在尝试从阵列调用视频。我知道我把弦和物体混合在一起。但我不知道用什么来代替它。以下是代码的[不正确]行: NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource: _arrayVidSrc ofType:@".mp4" inDirectory:@"videos"]]; 我怎么修理它 以下是整个代码块: - (void)viewDidLoad { [super viewDidLo

我是个新手。我正在尝试从阵列调用视频。我知道我把弦和物体混合在一起。但我不知道用什么来代替它。以下是代码的[不正确]行:

NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource: _arrayVidSrc ofType:@".mp4" inDirectory:@"videos"]];
我怎么修理它

以下是整个代码块:

- (void)viewDidLoad
{
    [super viewDidLoad];
    self.titlelabel.text = self.titlecontents;
    self.navBar.title = self.titlecontents;


    //video load from array
    NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource: _arrayVidSrc ofType:@".mp4"]];

    MPMoviePlayerViewController *playercontroller = [[MPMoviePlayerViewController alloc] initWithContentURL:url];
    [self presentMoviePlayerViewControllerAnimated:playercontroller];
    playercontroller.moviePlayer.movieSourceType = MPMovieSourceTypeFile;
    [playercontroller.moviePlayer play];
    playercontroller = nil;


}

从上下文来看,我认为您希望获得视频的URL数组。如果
\u arrayVidSrc
是一个数组,则应仅传递其一个元素(例如,尝试在不正确的代码行中使用
\u arrayVidSrc[0]
):


看情况,你想要什么?数组中的0 1 2 3 4..n对象?NSString是一个对象。你把类型弄混了。错误告诉您参数需要NSString,但代码正在传递NSArray。我建议对Objective-C有一个更好的、基本的了解,并找出这个常见的错误。使用pathForResource肯定有数百个这样的例子。我知道这是错误的。我不知道怎么修理它。我试图根据用户在表格单元格中单击的内容设置调用的视频。因此,如果用户单击单元格2,他们将获得视频2(数组中的1)。为什么投票被否决?这很接近。但是,不完全是这样。非常感谢。我可以根据用户单击的表中的哪个单元格来设置它,而不是将其设置为数组中的特定数字吗?这类似于
NSString*firstVideoFileName=_arrayVidSrc[indexPath.row]确保数组项的数量与单元格的数量相同。
NSString * firstVideoFileName = _arrayVidSrc[0];
NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:firstVideoFileName
                                                                    ofType:@".mp4"]];