我有一个非常简单的案例,但由于某种原因,我无法找到正确的方法来处理它,因为我在iDev中的“启动”级别。 用户在使用我的应用程序时会有一天的限制。在一定数量的用户操作后,我在NSUserDefaults中设置了限制。 现在我认为它应该是NSDate值,但我不确定。 每次用户请求某些操作时,app都必须检查是否没有限制。如何正确检查? 例如,今天上午9:00用户超出限制,应用程序必须限制午夜期间的任何操作。第二天凌晨0:01检查限制后,它必须是“绿色”。
有点令人困惑,我知道:(
答案 0 :(得分:0)
要获得第二天的开始,您可以使用带有2个API的NSCalendar类:
首先:获取当前时间的第二天(NSDate):
返回表示绝对时间的新NSDate对象 通过将给定组件添加到给定日期来计算。
x <- runif(1000, -5, 5)
y <- runif(1000, -2, 2)
z <- x + y
res <- lm(z ~ x + y)
alpha <- 0.01
num_iters <- 10000
theta <- matrix(c(0,0,0), nrow = 3)
X <- cbind(1, matrix(x), matrix(y))
for (i in 1:num_iters){
cost <- (X %*% theta - y)
delta <- t(X) %*% cost / length(y)
theta <- theta - alpha * delta
}
您的- (NSDate *)dateByAddingComponents:(NSDateComponents *)comps
toDate:(NSDate *)date
options:(NSCalendarOptions)opts
参数应该只有comps
值= 1,例如:
Day
然后让NSDate成为你第二天的第一时刻。
返回给定日期的第一个时刻日期
NSDateComponents *comps = [[NSDateComponents alloc] init];
[comps setDay:1];
答案 1 :(得分:0)
这是Swift中的解决方案。该函数使用NSDateComponents类将时间设置为第二天的第一分钟:
public class func getTomorrow() -> NSDate {
let cal = NSCalendar.currentCalendar()
let today = NSDate()
let dateComp = cal.components([.Year, .Month, .Day, .Hour, .Minute, .Second], fromDate: today)
dateComp.day = dateComp.day + 1
dateComp.hour = 0
dateComp.minute = 1
dateComp.second = 0
return cal.dateFromComponents(dateComp)!
}
我没有检查它是否编译,但它应该没问题。 希望它有所帮助!