gpt4 book ai didi

ios - 将本 map 片添加到imageView中

转载 作者:行者123 更新时间:2023-11-30 13:29:33 28 4
gpt4 key购买 nike

我一直在根据这个 YouTube 视频指南进行编程,并使用所述视频中提供的代码(目前在 this one 工作)。当前类(class)的重点是添加可在线使用的缩略图。但是,我当前的目标是使用本地镜像作为缩略图,因为我拥有的少数视频在我的特定项目中永远不会改变。

目前我有以下代码。它工作得很好(正如它应该的那样),标记为“LINE A”的行:

//
// ViewController.swift
// Project

import UIKit

class ViewController: UIViewController, UITableViewDataSource, UITableViewDelegate {

@IBOutlet var tableView: UITableView!
var videos:[Video] = [Video]()

override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
let model = VideoModel()
self.videos = model.getVideos()
self.tableView.dataSource = self
self.tableView.delegate = self

}

override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}

func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return videos.count
}

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {

let cell = tableView.dequeueReusableCellWithIdentifier("BasicCell")!

//let videoTitle = videos[indexPath.row].videoTitle

//Customize the cell to display the video title
//cell.textLabel?.text = videoTitle

//Construct the video thumbnail url

//LINE A
let videoThumbnailUrlString = "https://i.imgur.com/bYESnOo.jpg"

//LINE B
//let videoThumbnailUrlString = "/Users/User/Documents/Project/" + videos[indexPath.row].thumbnailId + ".JPG"

//Create a NSURL object
let videoThumbnailUrl = NSURL(string: videoThumbnailUrlString)

if videoThumbnailUrl != nil {

//Create a NSURLRequest object
let request = NSURLRequest(URL: videoThumbnailUrl!)

//Create a NSURLSession
let session = NSURLSession.sharedSession()

//Create a datatask and pass in the request
let dataTask = session.dataTaskWithRequest(request, completionHandler: { (data: NSData?, response: NSURLResponse?, error: NSError?) -> Void in

dispatch_async(dispatch_get_main_queue(), { () -> Void in

//Get a reference to the imageview element of the cell
let imageView = cell.viewWithTag(1) as! UIImageView

//Create an image object from the data and assign it into the imageView
imageView.image = UIImage(data: data!)

})

})

dataTask.resume()

}
return cell
}

}

我尝试使用标记为“LINE B”的行,但它返回标记为Thread 1: EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0)的错误下面的内容为 fatal error :在解包可选值(lldb)时意外发现nil

这是视频类:

    import UIKit

class Video: NSObject {

var videoId:String = ""
var thumbnailId:String = ""
var videoTitle:String = ""
var videoDescription:String = ""
}

VideoModel 类如下:

//
// VideoModel.swift

import UIKit

class VideoModel: NSObject {

func getVideos() -> [Video] {

var videos = [Video]()

//Create video object
let video1 = Video()
//Assign properties
video1.videoId = "_T-zq-aKha3"
video1.thumbnailId = "1Alissa"
video1.videoTitle = "Alissa"
video1.videoDescription = "Tu vieja samurai comiendo un peanut butter jelly sandwich."

//Append it into the videos array

videos.append(video1)


//Create video object
let video2 = Video()
//Assign properties
video2.videoId = "LUabbwPd-4I"
video2.thumbnailId = "2SettingGoals"
video2.videoTitle = "Setting Goals"
video2.videoDescription = "Rakatata y las mujeres donde estan auuuuu azucar."

//Append it into the videos array

videos.append(video2)


//Create video object
let video3 = Video()
//Assign properties
video3.videoId = "j1HTxdtE5Yg"
video3.thumbnailId = "3Plan"
video3.videoTitle = "Plan"
video3.videoDescription = "Sancho panza se come un hotdog enrollado en 5 rodajas de pan con harta ketchup."

//Append it into the videos array

videos.append(video3)


//Create video object
let video4 = Video()
//Assign properties
video4.videoId = "7moB28WpcIg"
video4.thumbnailId = "4AlissaSuges"
video4.videoTitle = "Alissa's Suggestions"
video4.videoDescription = "Sancho panza se come un hotdog enrollado en 5 rodajas de pan con harta ketchup."

//Append it into the videos array

videos.append(video4)

return videos
}

}

任何有关如何实现切换到本地镜像的提示或线索将不胜感激。如果您需要我提供任何其他信息,请随时询问。

最佳答案

我认为您忘记通过 registerNibregisterClass 函数将单元格绑定(bind)到表格 View 。还有一件事,您使用的函数 dequeueReusableCellWithIdentifier(identifier: String) -> UITableViewCell? 可能会返回 nil 对象。它的返回值是可选。因此,您最好使用 if let 语句以防它为 nil,并在发生这种情况时创建一个单元格。

关于ios - 将本 map 片添加到imageView中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36733129/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com