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