这完全是出于教育目的,帮助我更好地理解Parse和Swift如何运作。
我想这样做,以便用户只能喜欢一次项目(不能多次按下按钮),因为目前,我正在使用一个带有Parse的匿名系统。
我基本上会在likeButton方法中使用带有PFUser.CurrentUser()的if方法来阻止用户再次点击或者我会使用NSUserDefaults吗?
我目前无法发布代码,因为我不在我的笔记本电脑附近,但是如果有帮助的话,我以后可以。如果我能在那之前获得一些信息仍然很好奇。
我在上一个问题中找到的示例代码,基本上实现了相同的想法。
@IBAction func likeButton(sender: AnyObject) {
let hitPoint = sender.convertPoint(CGPointZero, toView: self.tableView)
let hitIndex = self.tableView.indexPathForRowAtPoint(hitPoint)
let object = objectAtIndexPath(hitIndex)
object.incrementKey("count")
object.saveInBackground()
self.tableView.reloadData()
}
我是否会打电话给NSUsersDefaults以阻止用户多次点击它?
答案 0 :(得分:0)
您最好调用方法saveInBackgroundWithBlock:
,而不是调用savingInBackground
。所以策略非常简单:
首先,为对象定义一个'busy'标志(例如:Bool
)并将其存储在任何你喜欢的地方(如果你显示1个项目,那么只需声明一个Dictionary
属性/如果要显示Item列表,则声明true
格式为[“objectID / Index”:Bool])。对于正在后台保存的项目,此标志应设置为savingInBackground
。
每当使用点击按钮时
true
标记为savingInBackground
,则不执行任何操作true
设置为saveInBackgroundWithBlock:
saveInBackgroundWithBlock:
savingInBackground
的完成区中,将false
设置回class App extends React.Component {
render() {
return <p>Hello World</p>
}
};
。我现在在火车上,所以我不能编写示例代码,但我希望它足以帮助您实现您想要的目标。