gpt4 book ai didi

ios - 如何使用字典中的键值对为表格 View 单元格提供标题?

转载 作者:行者123 更新时间:2023-12-01 22:00:14 24 4
gpt4 key购买 nike

我目前正在尝试完成我的第一个应用程序的收尾工作。作为我正在学习的类(class)的一部分,通过 Xcode 快速编写,我有一个出现在表格 View 中的图像列表,我想以编程方式更改文件的名称,使其不显示 IMG_xxxxx.jpg .我创建了一个字典来将每张照片与所需的名称相关联,但是我无法弄清楚如何使表格 View 显示一个单元格标题,该单元格标题是所述字典中的键的值,基于哪个文件被加载到任何给定的单元格中。

//This is the dictionary 
let imageTitles = ["IMG_1085.JPG" : "Num Num Num",
"IMG_1251.JPG" : "Star of the Show",
"IMG_1643.JPG" : "Ante Up",
"IMG_1630.jpg" : "Someone called my name?",
"IMG_1340.JPG" : "Ahhhhhhhhh",
"IMG_1595.jpg" : "Focus",
"IMG_1689.JPG" : "He Likes Me",
"IMG_1676.jpg" : "Warm and Cozy",
"IMG_1688.JPG" : "It's Like Looking Into a Mirror...",
]

这些是加载单元名称的位。一个被注释掉了(这是教练教的“官方”代码,为了学习,我试图更进一步),另一个是我自己完成这项任务的尝试(我没有保存每一个尝试-我只是在不成功时用新的东西重写。)当我决定添加此功能时,另一条评论更像是给自己的一个注释。我想我有可能在错误的地方尝试这样做,但我认为情况并非如此。抛出的错误是说当需要 int 时我不能有 string:string 引用,这是有道理的(从逻辑上讲,我假设 .row 将是一个 int 值,但我不知道如何发表声明要求一个字符串:字符串值,我相信这可以解决我的问题)。
 override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "Picture", for: indexPath)
//cell.textLabel?.text = pictures[indexPath.row]
cell.textLabel?.text = imageTitles[indexPath.row]
//this is where I need to make the reference of the dictonary

return cell
}

最后,如果我只是不知道如何编写需要 string:string 的参数是对的,有没有什么办法可以让缺乏经验的人弄清楚这一点?我试着在这样的网站上寻找现有的线程,但没有任何运气。

提前感谢您的任何帮助!

最佳答案

您需要一个数组作为数据源,简单的例子是一个文件名数组

var pictures = ["IMG_1085.JPG", "IMG_1251.JPG", "IMG_1643.JPG", "IMG_1630.jpg", "IMG_1340.JPG", "IMG_1595.jpg", "IMG_1689.JPG", "IMG_1676.jpg", "IMG_1688.JPG"]

cellForRow获取索引路径的文件名并将其映射到标题
 override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "Picture", for: indexPath)
let fileName = pictures[indexPath.row]
cell.textLabel?.text = imageTitles[fileName] ?? "N/A"
return cell
}

更好的解决方案是将自定义结构作为模型,其中包括文件名和人类可读的描述。

关于ios - 如何使用字典中的键值对为表格 View 单元格提供标题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60231660/

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