我想计算用户连续使用该应用的天数。
它根据条纹更新标签,如果用户一天没有使用该应用程序,该数字将恢复为零。
最佳答案
您的应用创意可能包括需要在之前执行一些操作 考虑完整的使用。例如,在屏幕上加载或呈现某些内容后,在检索数据并执行某些操作后等。
只是为了打开应用程序。唯一的目的是让用户点击您的应用程序图标来启动应用程序,不管他之前是否将其设置为关闭状态甚至通过你的加载屏幕。
This can be a bit unpredictable
Important to notice that iOS can kill your process anytime after your app is sent to background, so better to do it right after user´s action.
此外,用户暂时无法再次打开您的应用。
如果您要从 iPhone 中保存数据,您可以订阅后台功能,让您的应用在过渡到暂停/关闭状态时激活一段时间。
您要找的函数是applicationDidEnterBackground(_:)
Strong Points of this approach
You get last time that your app was actually used.
有关应用程序生命周期以及如何正确处理它的更多信息,请访问 apple documentation about this topic
NSUserDefaults 中。在这种情况下,您应该通过在您的服务器中创建和处理用户或使用 iCloud 替代方案来实现某种在线存储。NSUserDefaults 中,因为它没有被加密并且可以被修改。在处理存储的数据时,简单是王道,有很多方法可以实现这一特定任务。
我会选择:
You could save complete timestamp in order to be able of change your mind later ;-)
在我的应用程序中,我会在进行任何更改之前使用当前日期数据 (now = NSDate()) 进行计算。
现在和上次访问日期之间的间隔时间大于
“Day”,然后用 now 更新 first visit date。 现在数据保存到上次访问日期存储中。Your counter will always be the difference in "Days" between
nowandfirst visit date.
如果您的数据不敏感,请将其存储在 NSUserDefaults 中,否则如果这会影响您的收入,请将其存储在其他地方。如果它很敏感但您不关心您的用户是否丢失了计数器,请将其保存在本地数据库中(CoreData、Realm 等)
存储新数据的最佳时间(根据我的考虑)将是关闭意图(包括暂停状态和来电 ) 被通知到您的应用程序。
您可以通过多种方式保存此数据,一种给您一些操作空间的方法是仅保存上次访问和该行首次访问的日期,然后执行数学。当然,根据需要更新并在之前解释过。
关于ios - 快速计算当前连胜,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44456241/
这里是Ruby新手。完成一些练习后碰壁了。练习:计算一系列成绩的字母等级创建一个方法get_grade来接受测试分数数组。数组中的每个分数应介于0和100之间,其中100是最大分数。计算平均分并将字母等级作为字符串返回,即“A”、“B”、“C”、“D”、“E”或“F”。我一直返回错误:avg.rb:1:syntaxerror,unexpectedtLBRACK,expecting')'defget_grade([100,90,80])^avg.rb:1:syntaxerror,unexpected')',expecting$end这是我目前所拥有的。我想坚持使用下面的方法或.join,
这里有一个很好的答案解释了如何在Ruby中下载文件而不将其加载到内存中:https://stackoverflow.com/a/29743394/4852737require'open-uri'download=open('http://example.com/image.png')IO.copy_stream(download,'~/image.png')我如何验证下载文件的IO.copy_stream调用是否真的成功——这意味着下载的文件与我打算下载的文件完全相同,而不是下载一半的损坏文件?documentation说IO.copy_stream返回它复制的字节数,但是当我还没有下
我正在尝试解析一个文本文件,该文件每行包含可变数量的单词和数字,如下所示:foo4.500bar3.001.33foobar如何读取由空格而不是换行符分隔的文件?有什么方法可以设置File("file.txt").foreach方法以使用空格而不是换行符作为分隔符? 最佳答案 接受的答案将slurp文件,这可能是大文本文件的问题。更好的解决方案是IO.foreach.它是惯用的,将按字符流式传输文件:File.foreach(filename,""){|string|putsstring}包含“thisisanexample”结果的
1.错误信息:Errorresponsefromdaemon:Gethttps://registry-1.docker.io/v2/:net/http:requestcanceledwhilewaitingforconnection(Client.Timeoutexceededwhileawaitingheaders)或者:Errorresponsefromdaemon:Gethttps://registry-1.docker.io/v2/:net/http:TLShandshaketimeout2.报错原因:docker使用的镜像网址默认为国外,下载容易超时,需要修改成国内镜像地址(首先阿里
项目介绍随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱小学生兴趣延时班预约小程序的设计与开发被用户普遍使用,为方便用户能够可以随时进行小学生兴趣延时班预约小程序的设计与开发的数据信息管理,特开发了小程序的设计与开发的管理系统。小学生兴趣延时班预约小程序的设计与开发的开发利用现有的成熟技术参考,以源代码为模板,分析功能调整与小学生兴趣延时班预约小程序的设计与开发的实际需求相结合,讨论了小学生兴趣延时班预约小程序的设计与开发的使用。开发环境开发说明:前端使用微信微信小程序开发工具:后端使用ssm:VU
如何找到调用此方法的位置?defto_xml(options={})binding.pryoptions=options.to_hifoptions&&options.respond_to?(:to_h)serializable_hash(options).to_xml(options)end 最佳答案 键入caller。这将返回当前调用堆栈。文档:Kernel#caller.例子[0]%rspecspec10/16|===================================================62=====
我对如何计算通过{%assignvar=0%}赋值的变量加一完全感到困惑。这应该是最简单的任务。到目前为止,这是我尝试过的:{%assignamount=0%}{%forvariantinproduct.variants%}{%assignamount=amount+1%}{%endfor%}Amount:{{amount}}结果总是0。也许我忽略了一些明显的东西。也许有更好的方法。我想要存档的只是获取运行的迭代次数。 最佳答案 因为{{incrementamount}}将输出您的变量值并且不会影响{%assign%}定义的变量,我
给定一个nxmbool数组:[[true,true,false],[false,true,true],[false,true,true]]有什么简单的方法可以返回“该列中有多少个true?”结果应该是[1,3,2] 最佳答案 使用转置得到一个数组,其中每个子数组代表一列,然后将每一列映射到其中的true数:arr.transpose.map{|subarr|subarr.count(true)}这是一个带有inject的版本,应该在1.8.6上运行,没有任何依赖:arr.transpose.map{|subarr|subarr.in
print"Enteryourpassword:"pass=STDIN.noecho(&:gets)puts"Yourpasswordis#{pass}!"输出:Enteryourpassword:input.rb:2:in`':undefinedmethod`noecho'for#>(NoMethodError) 最佳答案 一开始require'io/console'后来的Ruby1.9.3 关于ruby-为什么不能使用类IO的实例方法noecho?,我们在StackOverflow上
给定两个大小相等的数组,如何找到不考虑位置的匹配元素的数量?例如:[0,0,5]和[0,5,5]将返回2的匹配项,因为有一个0和一个5共同;[1,0,0,3]和[0,0,1,4]将返回3的匹配项,因为0有两场,1有一场;[1,2,2,3]和[1,2,3,4]将返回3的匹配项。我尝试了很多想法,但它们都变得相当粗糙和令人费解。我猜想有一些不错的Ruby习惯用法,或者可能是一个正则表达式,可以很好地回答这个解决方案。 最佳答案 您可以使用count完成它:a.count{|e|index=b.index(e)andb.delete_at