【问题标题】:Objective-C : Trigger firedate from Integer variable?Objective-C:从整数变量触发触发?
【发布时间】:2011-11-30 04:55:28
【问题描述】:

我想使用“firedate”进行本地通知。如何使用包含秒数的整数变量来触发firedate?

int intTime;
intTime=([mAhLabel.text floatValue]/chargerSlider.value)*1.5*3600;
notif.fireDate = (intTime);

我知道上面的代码是错误的,请给我一个提示!提前致谢。

附言当我尝试使用此代码时,我得到“不兼容的整数到指针转换分配给'NSDate * from int”。

【问题讨论】:

  • 代码有什么问题?它会给出错误吗?它没有按预期执行吗?具体一点。
  • 我编辑了这篇文章。阅读附言。请。

标签: objective-c integer uilocalnotification


【解决方案1】:

fireDate 必须是 NSDate*,以便您知道您的解决方案不正确。如果您的计算结果是您希望从当前时间触发的秒数,那么以下代码将起作用。

NSTimeInterval time = ([mAhLabel.text floatValue]/chargerSlider.value)*1.5*3600;
notif.fireDate = [NSDate dateWithTimeIntervalSinceNow:time];

此外,通过设置最小值或在除法前检查值,确保使用chargerSlider.value 无法除以0。否则结果将是NaN

【讨论】:

  • 做到了!非常感谢!
【解决方案2】:

UILocalNotification 上的fireDate 属性属于NSDate 类型。您需要先创建一个NSDate,并将整数作为您需要的未来时间。例如,如果我们正在寻找距现在一小时后的开火日期,它将如下所示。

notif.fireDate = [NSDate dateWithTimeIntervalSinceNow:3600];

【讨论】:

    猜你喜欢
    • 2016-03-28
    • 1970-01-01
    • 2023-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多