即使在代码编译后也不显示文本标签
Posted
技术标签:
【中文标题】即使在代码编译后也不显示文本标签【英文标题】:Text Label is not shown even after code compilation 【发布时间】:2020-06-12 19:24:48 【问题描述】:
class ViewController: UITableViewController
var pictures = [String]()
override func viewDidLoad()
super.viewDidLoad()
let fm = FileManager.default
let path = Bundle.main.resourcePath!
let items = try! fm.contentsOfDirectory(atPath: path)
for item in items
if item.hasSuffix("@3x")
pictures.append(item)
print(pictures)
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int
return pictures.count
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell
let cell = tableView.dequeueReusableCell(withIdentifier: "Country", for: indexPath)
cell.textLabel?.text = pictures[indexPath.row]
return cell
我正在尝试使用我在文件管理器/文件夹中的文件的文本标签分配该行。我的代码运行正确,但后缀为“@3x”的文件名的文本标签不可见。请帮忙。
【问题讨论】:
不相关,但您可以将循环替换为pictures = Bundle.main.paths(forResourcesOfType: "@3x", inDirectory: nil)
。不需要FileManager
。
感谢您的建议。它有帮助
【参考方案1】:
提取完成后,您需要在tableView
上调用reloadData
方法。这是代码:
var pictures = [String]()
override func viewDidLoad()
super.viewDidLoad()
let fm = FileManager.default
let path = Bundle.main.resourcePath!
let items = try! fm.contentsOfDirectory(atPath: path)
for item in items
if item.hasSuffix("@3x")
pictures.append(item)
print(pictures)
tableView.reloadData()
【讨论】:
我已检查编辑您建议的代码,但仍然没有输出。返回的行号是否可能为0?因此无法分配单元标签。我该如何检查。以上是关于即使在代码编译后也不显示文本标签的主要内容,如果未能解决你的问题,请参考以下文章