首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何有效地将领域中所有数据行的属性字符串加载到UILabels中的UITableView中

如何有效地将领域中所有数据行的属性字符串加载到UILabels中的UITableView中
EN

Stack Overflow用户
提问于 2020-06-29 09:56:57
回答 1查看 419关注 0票数 0

在我的领域中,我有RealmClassA,在模拟器中运行时,用户可以成功地添加许多行信息。

我正在尝试从领域读取数据(技术术语Query?!)将一些数据显示在包含多个TableViewControllercustomCell中的UILabels中。customCell是TableViewCell类型的。

例如,我只包含了一些属性和标签。

我希望将propertyA列中的数据按字母顺序显示到UIlabel中,并为该行条目在propertyB列中显示其他数据。见下图。

TableViewController是;

代码语言:javascript
运行
AI代码解释
复制
import UIKit
import RealmSwift


class TableViewController: UITableViewController {
      
    let realm = try! Realm()
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
    }

    override func numberOfSections(in tableView: UITableView) -> Int {
        return 1
        //After solving this question, this numberOfSections return will return the count of the number of unique strings that the propertyB column that RealmClassA houses. 
    }

    override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int 
      
  return realm.objects(RealmClassA.self).count
        // this DOES return a number of cells that matches the number of entries (rows) in RealmClassA. 

    }
    
    override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCell(withIdentifier: "reusableCellID", for: indexPath)

    // this is where I have hit a brick wall and guidance is needed.        

        return cell
    }
}

customCellTableViewCell型;

代码语言:javascript
运行
AI代码解释
复制
import UIKit
import RealmSwift

class TableViewCell: UITableViewCell {
    
    @IBOutlet weak var propertyAGoesHere: UILabel!
    @IBOutlet weak var propertyBGoesHere: UILabel!
    @IBOutlet weak var propertyCGoesHere: UILabel!
//etc.
    
    let realm = try! Realm()
    

    override func awakeFromNib() {
        super.awakeFromNib()
        // Initialization code
    }

    override func setSelected(_ selected: Bool, animated: Bool) {
        super.setSelected(selected, animated: animated)

        // Configure the view for the selected state
    }

}

我可以使用以下方法来计算输出中的条目数;

代码语言:javascript
运行
AI代码解释
复制
print("The number of RealmClassA records in memory is",realm.objects(RealmClassA.self).count)

它打印出The number of RealmClassA in memory is 10

当我试图在propertyA列中只打印刺的名称时;

代码语言:javascript
运行
AI代码解释
复制
    let allEntriesArray = allEntriesList.map{$0.PropertyA}
            
    print("Querying all propertyA entries in realm \(allEntriesArray)")

印出来

代码语言:javascript
运行
AI代码解释
复制
Querying all propertyA entries in realm LazyMapSequence<Results<RealmClassA>, String>(_base: Results<RealmClassA> <0x7fd2f8cb4f20> (
    [0] RealmClassA {
        propertyA = Random Words for Filler
        propertyB = More Random words to fill the property information;
        //etc. 
    },
// this repeats for all entries in the RealmClassA. 

需要的帮助

  1. 如何有效地访问要在表视图中显示的领域中的数据。我显然快到了,因为我可以为RealmClassA.

中的条目数显示正确的单元格数

我使用了以下资料来帮助,但没有用。

https://www.youtube.com/watch?v=0WOd6GVPMb0

UITableView with Multiple Sections using Realm and Swift

Querying Realm to populate numberOfRowsInSection and cellForRowAt with Multiple Sections using Realm and Swift

How to access properties of an object returned from primary key query in Realm Swift

我已经在这里浏览了Realm.io文档

https://academy.realm.io/posts/realm-list-new-superpowers-array-primitives/

列表部分中的https://realm.io/docs/swift/latest/#getting-started

https://realm.io/docs/swift/latest/api/Classes/List.html

更新

将“propertyA”的所有实例更改为“propertyA”。

主要问题是要清楚。如何显示保存在领域中的某一列的所有数据,在表视图单元格的UILabels中按字母顺序显示。

对于帖子的长度,我很抱歉,我看到了很多问题,人们问我所有的信息,所以我已经尽了我最大的努力!

更新2

删除不必要的信息,以便在发帖后澄清。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-06-30 05:31:38

感谢@Jay的帮助加上这个网站;

https://www.ralfebert.de/ios-examples/uikit/uitableviewcontroller/custom-cells/,我发现我错过了as! customCellcellForRowAt功能。

如果有人进一步关注这个问题,我们应该如何看待这个问题。

代码语言:javascript
运行
AI代码解释
复制
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCell(withIdentifier: "reusableCellID", for: indexPath) as! customCell

        let itemsToDisplay = realm.objects(RealmClassA.self).sorted(byKeyPath: "propertyA")[indexPath.row]
        
        cell.propertyADisaplyLabel?.text = itemsToDisplay.propertyA
        cell.propertyBDisplayLabel?.text = itemsToDisplay.propertyB
        cell.propertyCDisplayLabel?.text = itemsToDisplay.propertyC
        

        return cell
    }

编辑

在tableView - iOS上设置一个macOS dataSource非常类似。这将设置一个包含10个对象的dataSource。这个例子实际上是为了展示dataSource的正确使用。

代码语言:javascript
运行
AI代码解释
复制
class ViewController: NSViewController, NSTableViewDelegate, NSTableViewDataSource {
    
    var dataArray = [String]()
    
    @IBOutlet weak var myTableView: NSTableView!
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        for i in 0...9 {
            let s = "row_\(i)"
            self.dataArray.append(s)
        }
        
        self.myTableView.delegate = self
        self.myTableView.dataSource = self
        self.myTableView.reloadData()
    }

    func numberOfRows(in tableView: NSTableView) -> Int {
        return self.dataArray.count
    }
    
    func tableView(_ tableView: NSTableView, viewFor tableColumn: NSTableColumn?, row: Int) -> NSView? {
       let identifier = NSUserInterfaceItemIdentifier("MyCellView")
       guard let cell = tableView.makeView(withIdentifier: identifier, owner: self) as? NSTableCellView else {return nil}
    
       cell.textField?.stringValue = self.dataArray[row]
    }

注意,NSTableCellView (表单元格视图)标识符设置为MyCellView。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62644039

复制
相关文章
如何像黑客军团主角那样将文件隐藏在音频中
这些年来黑客军团(Mr. Robot)一直是我最喜欢的电视剧,演员Rami Malek所扮演的有社交焦虑症,游离于肤浅而物质的社会之边缘却又想让世界更美好的年轻人这一角色让我印象很深,不过我喜欢这部电视剧并不是因为我想要像主角Elliot那样在生活中进行真实的入侵。Rami Malek的演绎是无与伦比的,我相信未来几年我们会更多地在电视剧中看到他。顺带一提,我觉得对于Evil Corp员工的叙述有点枯燥,特别是Tyrell Wellick,有点陈词滥调的感觉,不过总体来说,这部剧是自绝命毒师以来最棒的一部!
昨天50还没用完
2018/06/29
1K0
【C#】使用IExtenderProvider为控件添加扩展属性,像ToolTip那样
- 文中的“控件”一词是广义上的说法,泛指包括ToolStripItem、MenuItem在内单个界面元素,并不特指继承自Control类的狭义控件
AhDung
2018/09/13
1.7K0
【C#】使用IExtenderProvider为控件添加扩展属性,像ToolTip那样
如何像黑客军团主角那样将文件隐藏在音频中
这些年来黑客军团(Mr. Robot)一直是我最喜欢的电视剧,演员Rami Malek所扮演的有社交焦虑症,游离于肤浅而物质的社会之边缘却又想让世界更美好的年轻人这一角色让我印象很深,不过我喜欢这部电视剧并不是因为我想要像主角Elliot那样在生活中进行真实的入侵。Rami Malek的演绎是无与伦比的,我相信未来几年我们会更多地在电视剧中看到他。顺带一提,我觉得对于Evil Corp员工的叙述有点枯燥,特别是Tyrell Wellick,有点陈词滥调的感觉,不过总体来说,这部剧是自绝命毒师以来最棒的一部!
FB客服
2018/02/26
1.1K0
如何像黑客军团主角那样将文件隐藏在音频中
“人工迷你大脑”像蜜蜂那样思考
欧洲机器人研究团队开发了一种带有“人工迷你大脑”的机器人,这种机器人参考了蜜蜂的思维方式,可以自己学习怎样对周围的环境做出反应。 NeuroRover外形小巧,带有滚轮,长25cm,宽10cm。配有两部用于颜色处理和光线传感的摄像机。 例如,当机器人在学习作出特定的关联,例如关联红色的物体时,电机网络的活动模式改变,并且机器人将自动转向目标,因为蜜蜂采蜜时就是将花蜜和花的颜色关联起来。 这种技术将使机器人可以将特定的环境刺激与行为规则联系起来,这种仿生结构的人工智能是最有潜力在更广泛的机器人系统推广的应用。
机器人网
2018/04/12
4910
要快!像华为和Commvault抓住二级存储市场的变化那样
面对即将出现的用户潜在需求,科技公司需要表现得像一条寻血猎犬那样,嗅觉灵敏、行动迅速。
IT创事记
2022/06/16
2860
要快!像华为和Commvault抓住二级存储市场的变化那样
Mysql 能像 MongoDB 那样存储文档了
Mysql 5.7.12 做出了一项重大改进:支持文档型存储,意味着在 Mysql 中就可以像 MongoDB 那样存储 JSON document 了 这项改进的意义非常重大,Mysql是传统的关系型数据库,加入对文档的支持,意味着Mysql要突破‘关系型数据’概念的束缚,融入NoSQL数据库的优势,只要是好到的东西,以后必然会吸收得更多 支持文档存储之后,对已经非常熟悉Mysql,同时又对文档存储有需求的开发者带来了便利,他们可以直接使用Mysql,不必使用 Mysql + MongoDB 的混合环境了
dys
2018/04/03
1.8K0
如何像巫师那样隔空操作——聊聊迷你雷达的原理和应用
最近谷歌I/O中亮相的迷你雷达(project soli)着实令人眼前一亮。现场展示中,该雷达可以捕捉手指的细微运动,可以隔空通过手势控制手表屏幕翻页,可以通过变化手指与屏幕距离实时改变UI元素,好像巫师施展魔法操作一般。怀着好奇心,本文来聊聊雷达背后的黑科技,作为科普。 雷达,英文Radar(Radio Detection And Ranging),利用发射“无线电磁波”得到反射波来探测目标物体的距离,角度,和瞬时速度。从1922年无线电之父马可尼(Guglielmo Marchese Marconi)提
用户1737318
2018/06/05
1.3K0
像Spring Boot那样创建一个你自己的Starter
如果你所在的公司要开发一个共享的lib,或者如果你想要为开源世界做点贡献,你也许想要开发你自己的自定义的自动配置类以及你自己的starter pom。这些自动配置类虽然在一个单独的jar包中,但却依然能够被Spring Boot获取到。 自动配置(Auto-configuration)其实就是一个starter。starter这个词是不是很熟悉,没错,就是Spring Boot中的那些看起来略屌的启动器。现在你可以自己编写一个自己的starter了。在一个starter里,你可以把一组dependency和
ImportSource
2018/04/03
8920
Facebook批量优化360照片
自去年推出该功能以来,人们已经向Facebook上传了超过7000万张360度照片。Facebook使用多种方法来捕获360度照片和视频,这使人们可以与他们的朋友分享身临其境的体验。如果您拥有专用的360度相机,如理光Theta S或Giroptic iO,则可以从相机直接发布到Facebook。而现在大部分高端Android和iOS智能手机也都拥有全景模式的相机,可用于拍摄360度照片。
LiveVideoStack
2021/09/02
6600
Facebook批量优化360照片
Gradle构建时像Maven那样根据profile环境打包
Gradle中并没有直接类似Maven中的profiles支持,但是可以在processResources 任务中写一些脚本,通过传入的系统属性profile值来支持.
白石
2021/03/07
2K0
WordPress Flickr 相册插件:Flickr Photo Album
你是否使用 Flickr,你是否想把你的图片整合到你的 blog 上,如果是的话,那么请你试试下面这个插件吧!翻译自:Weblog Tools Collection 的 APAD: Flickr Photo Album
Denis
2023/04/13
4870
R语言ggplot2绘图单元格为方块的热图—1—调整图例的位置
分别需要用到legend.spacing.y和legend.spacing.x参数
用户7010445
2021/04/21
3.7K0
R语言ggplot2绘图单元格为方块的热图—1—调整图例的位置
像tomcat容器那样自定义一个 Classloader
最近本人在写一个service container,需要加载指定的jar。需要自定义一个classloader,可以加载到指定的jar包中的class。 以下是具体实现,其实最核心的就是重写findClass方法。 代码如下: public class AppClassLoader extends ClassLoader { private static Map<String, Class> classes = new HashMap<String, Class>(); private static A
ImportSource
2018/04/03
7690
徐大大seo:15个可以做外链的社交平台
社交营销正如日中天,在国外流行的社交网站可以有效为自己的网站、店铺做推广引流,下面我们就来看看有哪些不错的国际社交网站。
徐大大seo
2022/05/14
1.2K0
如何提升程序的可读性?像写书那样去写程序
首先,这是一项很有价值的能力。可读性好的程序更容易得到维护与复用,这就提升了你的工作价值。它还可以为你在团队中建立良好的个人声誉。而当你成为团队中的主力时,你的代码会被团队其它成员效仿与借鉴,所以它的影响力会超越自身,带动整个团队的代码质量。
技术zhai
2019/02/15
4310
科学养猫|像猫那样“缓慢眨眼”,你的猫主子更爱你
猫是我行我素的代表。不像狗一样,听从主人的命令。它不将主人视为君主(反而有可能是仆从),不会唯命是从。猫和主人并不是主从关系,把它们看成平等的朋友关系会更好一些。怎么处理好和猫猫的关系呢,你可能需要一些科学的技巧。
用户6317549
2020/10/26
7860
科学养猫|像猫那样“缓慢眨眼”,你的猫主子更爱你
麻省理工研发软体机器鱼,可以像真正的鱼类那样游泳
据外媒New Atlas报道,随着BBC 令人难以置信的野生动物纪录片的不断演示,伪装成动物的机器人已经为我们提供了对自然世界的前所未有的见解。现在,麻省理工学院(MIT)计算机科学和人工智能实验室(CSAIL)的科学家们开发出了一种机器鱼,它可以像真正的鱼类那样游泳。 尽管水下机器人并不是新产品,但CSAIL团队表示,这些机器人通常被束缚在船只上。被称为SoFi的柔性机器鱼采取了一种不同的方法。其外部由硅橡胶和柔性塑料制成,里面是一个普通的锂聚合物智能电池,为电机提供动力,该电机将水泵入两个像
机器人网
2018/04/12
6140
麻省理工研发软体机器鱼,可以像真正的鱼类那样游泳
ACDSee Photo Studio 9 for Mac(数字图像处理软件)
ACDSee Photo Studio 是由 ACD Systems 开发的流行的照片编辑和管理软件。它提供了广泛的工具来组织、查看、编辑和共享数码照片。使用 ACDSee Photo Studio,您可以从各种设备导入照片,将它们组织到文件夹中,并按日期、关键字、评级或其他标准对它们进行排序。您还可以使用各种工具编辑照片,例如裁剪、调整大小、调整颜色、消除红眼以及应用滤镜和效果。此外,ACDSee Photo Studio 允许您将照片直接分享到社交媒体平台或以各种文件格式导出。
用户10121095
2023/04/24
9830
点击加载更多

相似问题

像Facebook和Orkut相册照片那样的照片标记?

40

如何像facebook的照片查看器那样修改历史?

10

从Flickr,Facebook,Instagram和iPhoto上找到丢失的照片

33

如何从flickr api自动调整照片大小?

10

用API Flickr Python将照片上传到Flickr

20
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档