【发布时间】:2020-02-05 16:59:29
【问题描述】:
这是我的班级的样子:
class Card : Object {
@objc dynamic var tags: String = ""
@objc dynamic var set_id: String = ""
}
我想返回所有卡片中的标签数量,并转发set_id。
方法如下:
func totalTags() -> String {
var tagCounter: Int = 0
let realm = try? Realm()
let totalCards = realm!.objects(Card.self).filter("set_id = '\(setId)'") //all Cards with selected set_id, set_id is global var.
for card in 0...totalCards.count {
//every 'card' has tags, but there there can me more tags,
//like : tags="one,twitter,world,Europe"...
//And I want to count all of them for every 'card'
let result = realm.objects(Card.self).filter() //How to filter?
tagCounter += //what? result.count or something?
}
return String(tagCounter)
}
【问题讨论】:
-
您的 for 循环什么也不做,因为您不使用“卡片”实例。显示了您正在实现的实际代码。
-
这是我的实际代码。我知道有些事什么都不做,所以我在这里发布了一个问题:),你能帮忙吗?
-
我要在这里开箱即用,但为什么要在标签中存储逗号分隔的字符串?如何在名为
let tagList = List<TagClass>的卡片中创建一个 TagClass 领域对象和一个属性。然后您可以 a) 重用标签 b) 创建从标签返回到 Cards 的链接 c) 答案变得简单;要获取每张卡的标签计数,只需执行let totalTagsForThisCard = someCard.tagList.count
标签: ios swift database count realm