Swift 创建计数器以跟踪为核心数据对象选择UITableViewcell的次数
在一个应用程序上工作,该应用程序跟踪用户在tableview中的选择,以及用户选择特定对象的次数,最大限制为2,如果在弹出数字2后选择单元格,则该单元格将重置为0。我还试图将对象总数限制为30个。我的核心数据实体中有两个与此相关的属性。所选号码和deckCardCount所选号码与对象直接相关,deckCardCount是存储的对象总数 我不确定这是否是最好的解决方法,因为我在脑海中也曾想过,限制可能仅限于呈现对象的视图控制器。我需要一些指导和一些一般性的帮助。目前,我创建的计数器实际上似乎不起作用Swift 创建计数器以跟踪为核心数据对象选择UITableViewcell的次数,swift,core-data,Swift,Core Data,在一个应用程序上工作,该应用程序跟踪用户在tableview中的选择,以及用户选择特定对象的次数,最大限制为2,如果在弹出数字2后选择单元格,则该单元格将重置为0。我还试图将对象总数限制为30个。我的核心数据实体中有两个与此相关的属性。所选号码和deckCardCount所选号码与对象直接相关,deckCardCount是存储的对象总数 我不确定这是否是最好的解决方法,因为我在脑海中也曾想过,限制可能仅限于呈现对象的视图控制器。我需要一些指导和一些一般性的帮助。目前,我创建的计数器实际上似乎不起
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
var myDeckCards: DeckCards?
let listed = frc.objectAtIndexPath(indexPath) as! Cards
// check: is there already a DeckCards object for this Card and this Deck?
let deckCardsSet = listed.cardselections
println("The set of DeckCards for that Card is \(deckCardsSet.count)")
for eachDeckCard in listed.cardselections {
let myDeckCard = eachDeckCard as! DeckCards
if myDeckCard.cardsstored == passedDeckObject {
// There is already a DeckCard object for this Card and currentDeck
myDeckCards = eachDeckCard as? DeckCards
}
}
if myDeckCards == nil {
// There is no DeckCard object for this Card and currentDeck
// So create one...
myDeckCards = NSEntityDescription.insertNewObjectForEntityForName("DeckCards", inManagedObjectContext: managedObjectContext!) as? DeckCards
myDeckCards!.cardsselected = listed
myDeckCards!.cardsstored = passedDeckObject!
}
// your code to determine numberSelected here; I'll assume 2!
var cardCount = 0
func addCards() {
if cardCount == 0 {
cardCount++
} else {
if cardCount == 1 {
cardCount++
} else {
if cardCount == 2 {
cardCount == 0
}
}
}
}
addCards()
println(cardCount)
myDeckCards!.numberSelected = cardCount
managedObjectContext?.save(nil)
}
为什么您有一个指向总数的属性?这没有任何意义。保留一个变量,用于跟踪总数 为什么要使用复数来描述托管对象?为什么卡片应该有一个类名
Cards
-用单数重构
最后,您的add函数非常冗长。这应该很简单
timesSelected = timesSelected == 2 ? 0 : timesSelected + 1
一般来说,编程还是新的,所以基本上,变量将限制用户总共只选择30个对象,并将选择的总时间相加,以确定是否已达到该限制?