gpt4 book ai didi

swift - UITableview 不显示我在 swift 中作为 nib 文件制作的单元格

转载 作者:行者123 更新时间:2023-11-30 13:03:40 24 4
gpt4 key购买 nike

您好,我在制作 UITableview 时遇到了麻烦。我将单元格制作为 nib 文件,并希望在 UITableView 中显示单元格。但是当我启动应用程序时,nib 文件不会显示在 UItableview 中。我不知道如何解决这个问题。来源如下

import UIKit

class DownLoadPlayViewController: UIViewController,UITableViewDataSource,UITableViewDelegate {

@IBOutlet var tableview: UITableView!
@IBOutlet var totalNumSizeInfo:UILabel!



let cellID:String = "DownLoadPlayViewControllerCell"
var downloadedContents: [Dictionary<String,String>] = []
var showContents: Dictionary<String,String> = [:]

override func viewDidLoad() {
super.viewDidLoad()

self.tableview.delegate = self
self.tableview.dataSource = self
self.tableview.registerClass(DownLoadPlayViewControllerCell.classForCoder(), forCellReuseIdentifier: "DownLoadPlayViewControllerCell")
// self.tableview.registerClass(DownLoadPlayViewControllerCell.self, forCellReuseIdentifier: "DownLoadPlayViewControllerCell")

// self.tableview.registerNib(UINib(nibName: "DownLoadPlayViewControllerCell", bundle: nil), forCellReuseIdentifier: "DownLoadPlayViewControllerCell")



downloadedContents = getDownloadInformation()!;
totalNumSizeInfo.text = "초기화 상태"

// let contentInfo : Dictionary<String,String> = self.downloadedContents[0]
// print(contentInfo["contentTitle"])
// print(contentInfo["viewDate"])
}

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

/*Podlist에 있는 다운로드 파일정보를 가져온다. */
func getDownloadInformation() -> [Dictionary<String,String>]?{
var returnValue : [Dictionary<String,String>]? =
NSUserDefaults.standardUserDefaults().objectForKey("downloadedContents") as? [Dictionary<String,String>]
if((returnValue?.isEmpty) == true){
returnValue = nil
}
return returnValue
}

// func numberOfSectionsInTableView(tableView: UITableView) -> Int {
// return 1
// }
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int
{
return downloadedContents.count
}

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell
{
// let cell = tableView.dequeueReusableCellWithIdentifier("DownLoadPlayViewControllerCell", forIndexPath: indexPath) as! DownLoadPlayViewControllerCell
let cell = tableView.dequeueReusableCellWithIdentifier("DownLoadPlayViewControllerCell") as! DownLoadPlayViewControllerCell
let contentInfo : Dictionary<String,String> = self.downloadedContents[indexPath.row]
cell.titleLabel?.text = contentInfo["contentTitle"]
cell.dateLabel?.text = contentInfo["viewDate"]

return cell;
}

func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath)
{
let contentInfo : Dictionary<String,String> = self.downloadedContents[indexPath.row]
print(contentInfo["downLoadURL"])
}

//MARK: ButtonClickArea

@IBAction func closeButtonClick(sender: AnyObject) {
self.dismissViewControllerAnimated(true, completion: nil)
}


}

最佳答案

运行命令 downloadedContents = getDownloadInformation()! 后,您的 tableview 需要 reloadData。只需像这样运行 tableview.reloadData() 即可:

downloadedContents = getDownloadInformation()!;
tableview.reloadData() //---------> add new like here
totalNumSizeInfo.text = "초기화 상태"

关于swift - UITableview 不显示我在 swift 中作为 nib 文件制作的单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39629445/

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