在Swift中使用未解析的标识符'indexPath'

偷自行车

您好,我正在创建变量URL,但在此行出现错误。

这是我的完整代码。

“在Swift中使用未解析的标识符'indexPath'”

import UIKit
import MediaPlayer

class DetailViewController: UIViewController{

    var moviePlayer:MPMoviePlayerController!
    var color = UIColor.whiteColor()
    var name = NSString()
    var arrayOfPrograms: NSArray = []

    var url = NSString()

    override func viewDidLoad() {
        super.viewDidLoad()

        self.navigationController?.navigationBar.titleTextAttributes =
            [NSFontAttributeName: UIFont(name: "HelveticaNeue-Light", size: 20)!,
                NSForegroundColorAttributeName: UIColor.whiteColor()]
        self.navigationController?.navigationBar.tintColor = color
        self.navigationItem.title = "TV JOJ"

        var url = NSURL(string: (self.arrayOfPrograms.objectAtIndex(indexPath).Program).url)
        moviePlayer = MPMoviePlayerController(contentURL: url)

        moviePlayer.view.frame = CGRect(x: 0, y: 0, width: self.view.frame.size.width, height: self.view.frame.size.height)
        moviePlayer.view.sizeToFit()
        self.view.addSubview(moviePlayer.view)
        moviePlayer.fullscreen = true
        moviePlayer.controlStyle = MPMovieControlStyle.Embedded
    }

    override func supportedInterfaceOrientations() -> Int {
        return Int(UIInterfaceOrientationMask.Portrait.rawValue)
    }

}

对不起,我是初学者..

细胞

var arrayOfPrograms: NSArray = []
arrayOfPrograms = [Program(name: "Markíza", url: "http://1.com")]

这就是我试图通过segue传递数据的方式

   override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject!) {
        var indexPath: NSIndexPath = self.tableView?.indexPathForSelectedRow() as NSIndexPath!
        var destinationViewController: DetailViewController
        (segue.destinationViewController as DetailViewController).url = (self.arrayOfPrograms.objectAtIndex(indexPath.row) as Program).url  

我希望该网址将为每个命名的单元格打开一个不同的视频。arraysOfPrograms是单元格。

乔尔·贝尔

扩展Mundi的答案-这些台词-

    var url = NSURL(string:(self.arrayOfPrograms.objectAtIndex(indexPath).Program).url)
    moviePlayer = MPMoviePlayerController(contentURL: url)

可以这样写,这更加清楚了-

    var url = self.arrayOfPrograms.objectAtIndex(indexPath).Program.url;
    moviePlayer = MPMoviePlayerController(contentURL: url);

主要问题是变量“ indexPath”在程序中不存在,因此您不会告诉程序哪个索引要从arrayOfPrograms数组中删除。

就像Mudi所说的那样,即使定义了“ indexPath”,NSIndexPath也不是您要在其中传递的类型,但您仍要在该indexPath的行中传递。所以看起来像这样

    // this indexPath probably isn't what you want. Its just an example to illustrate my point.
    var indexPath = NSIndexPath(forRow: 1, inSection: 0)

    // getting the row (1) from the variable indexPath
    var url = self.arrayOfPrograms.objectAtIndex(indexPath.row).Program.url
    moviePlayer = MPMoviePlayerController(contentURL: url)

您到底想做什么?您是否要遍历arrayOfPrograms并为该数组中的每个项目创建一个电影播放器​​?还是应该在表格视图中以及当用户单击特定行时。回答这些特定问题将帮助您弄清楚“ indexPath”的来源。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

错误:使用无法解析的标识符“ indexPath”

来自分类Dev

在Swift中使用未解析的标识符'MapTasks'

来自分类Dev

在Swift中使用未解析的标识符NSSecondCalendarUnit

来自分类Dev

在Swift中使用未解析的标识符

来自分类Dev

在 Swift 中使用未解析的标识符“类”

来自分类Dev

删除indexPath swift的部分

来自分类Dev

NSMutableArray使用IndexPath检查

来自分类Dev

在Swift中使用for循环时使用未解析的标识符

来自分类Dev

在 swift 3 中使用扩展时使用未解析的标识符

来自分类Dev

prepareForSegue collectionView indexPath使用Swift

来自分类Dev

kUTTypeURL undefined —在Swift中使用未解析的标识符'kUTTypeURL'

来自分类Dev

在Swift 3中使用未解析的标识符'println'

来自分类Dev

在 swift4 中使用未解析的标识符“json”

来自分类Dev

Swift:使用未解析的标识符“ addChild”

来自分类Dev

Swift:使用未解析的标识符“ json”

来自分类Dev

Swift:使用未解析的标识符“ json”

来自分类Dev

使用未解析的标识符 'json' (Swift 3) (Alamofire)

来自分类Dev

使用未解析的标识符 'result' swift 3

来自分类Dev

IndexPath Swift TableView 单击的列

来自分类Dev

在indexPath中快速使用prepareForSegue

来自分类Dev

“使用未解析的标识符'领域'”

来自分类Dev

使用未解析的标识符NSCalendarUnitDay

来自分类Dev

使用未解析的标识符PFImageView

来自分类Dev

使用未解析的标识符“ GGLContext”

来自分类Dev

使用未解析的标识符ParseCrashReporting

来自分类Dev

使用未解析的标识符“ AVPlayer”

来自分类Dev

使用未解析的标识符“领域”

来自分类Dev

使用未解析的标识符FBSDKAppEventNamePurchased

来自分类Dev

使用未解析的标识符userDefaults

Related 相关文章

热门标签

归档