在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有一段时间了,所以我不能给你举个例子——但如果你已经在使用核心数据,我想你知道该怎么做:-)