在iOS持续时间内禁用按钮点击

在iOS持续时间内禁用按钮点击,ios,uibutton,nsuserdefaults,reporting,Ios,Uibutton,Nsuserdefaults,Reporting,概念:当userA报告userB时,我需要在一段时间内禁用报告按钮,以便userA不能重复报告同一用户 解决方案:将数据存储在NSUSERDEFAULT中,键将是一个字符串类似于报告用户出价,值将是一个从当前日期起24小时后的时间戳(类型为Double)。这样,每次userA尝试报告另一个用户时,我都会检查NSUserDefaults以查看userA是否已报告userB。如果是,我检查当前时间是否大于存储的时间戳,如果是,则从NSUserDefaults中删除数据并允许用户发送报告 我还没有实际

概念:
userA
报告
userB
时,我需要在一段时间内禁用报告按钮,以便
userA
不能重复报告同一用户

解决方案:将数据存储在NSUSERDEFAULT中,
键将是一个
字符串
类似于
报告用户出价
将是一个从当前日期起24小时后的时间戳(类型为
Double
)。这样,每次
userA
尝试报告另一个用户时,我都会检查
NSUserDefaults
以查看
userA
是否已报告
userB
。如果是,我检查当前时间是否大于存储的时间戳,如果是,则从
NSUserDefaults
中删除数据并允许用户发送报告


我还没有实际实现这个解决方案,我想知道这是不是NSUserDefaults是最佳解决方案的问题类型,还是应该使用核心数据之类的东西

我绝对同意@Russel的观点

使用CoreData执行此任务就像用火箭杀死蚊子一样


如果您已经实现并使用了它,您可以添加支持,否则,只需使用NSDefaults…

我认为这要视情况而定。如果您已经在使用核心数据来存储其他数据,那么您最好再存储一些时间戳。如果不是,那么对于这样一个小的需求来说就有点过分了——而NSUserDefaults可能是better@Russell我懂了。。。该项目广泛使用核心数据。您是否可以创建一个名为
Report
的实体,其中包含reportedUser的时间戳和id,并将
reports
属性(类型为
NSSet
)添加到
User
实体?@Russel,您应该编写一个详细的答案,以便他接受它。。。我对CoreData了解不多。。对我来说太复杂了=]否-是的-我会选择类似的东西-使用与您讨论的默认选项相同的检查和删除。我离开我的Mac有一段时间了,所以我不能给你举个例子——但如果你已经在使用核心数据,我想你知道该怎么做:-)