Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/122.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 无法强制转换类型为'__NSCFString';至';NSDate&x27,NSUserDefaults_Ios_Iphone_Swift_Nsuserdefaults - Fatal编程技术网

Ios 无法强制转换类型为'__NSCFString';至';NSDate&x27,NSUserDefaults

Ios 无法强制转换类型为'__NSCFString';至';NSDate&x27,NSUserDefaults,ios,iphone,swift,nsuserdefaults,Ios,Iphone,Swift,Nsuserdefaults,您好,我正在尝试从NSUSerDefault获取日期,当我尝试将任何对象强制转换为NSDate时,出现以下错误: Could not cast value of type '__NSCFString' (0x101d6bef0) to 'NSDate' 以下是完整的代码: if let some = brain.defaults.objectForKey("Today") { let demoo = NSDate().secondsFrom(some as! NSDate

您好,我正在尝试从NSUSerDefault获取日期,当我尝试将任何对象强制转换为NSDate时,出现以下错误:

Could not cast value of type '__NSCFString' (0x101d6bef0) to 'NSDate' 
以下是完整的代码:

if let some = brain.defaults.objectForKey("Today")  {

        let demoo = NSDate().secondsFrom(some as! NSDate)
        brain.numberCount = Float(demoo)
        brain.defaults.synchronize()
        brain.timer = NSTimer.scheduledTimerWithTimeInterval(1, target: self, selector: Selector("update"), userInfo: nil, repeats: true)
        startButtonUIButton.hidden = true
        brain.progressCircle.strokeEnd = CGFloat(demoo/86400)

    }
erro在这条线上:

let demoo = NSDate().secondsFrom(some as! NSDate)

知道为什么吗?

一些
NSString
,而不是
NSDate
。您无法将
NSString
轻松转换为
NSDate
。您必须使用
NSDateFormatter
,或者如果它是一个时间戳,您可以将其转换为
NSTimerInterval
,然后转换为
NSDate
@Larme,实际上是任何对象中的一个。我检查了几次。我正在寻找将任何对象转换为NSDate或将NSDate直接保存为NSUserDefault的方法。
some
是一个
NSString
存储为
AnyObject
some as!字符串
将起作用,
一些作为?NSDate
将返回nil。您应该检查为“Today”设置默认值时是否设置了正确的值,或者如果您确实希望默认值中包含字符串,请使用
NSDateFormatter