2016-06-11 3 views
0

내가 CoreData에있는 NSDate를 저장하고이를 검색하고이 저장하는 변수CoreData에서있는 NSDate를 검색하고 스위프트

@IBOutlet weak var buttonTimer1: UIButton! { 
     setTimersDate.zero = NSDate() 
     let appDel:AppDelegate = UIApplication.sharedApplication().delegate as! AppDelegate 
     let context:NSManagedObjectContext = appDel.managedObjectContext 

     var buttonTimer1Date = NSEntityDescription.insertNewObjectForEntityForName("TimerDates", inManagedObjectContext: context) as NSManagedObject 
     buttonTimer1Date.setValue(setTimersDate.zero, forKey: "dates") 

     do { 
      try context.save() 
     } catch { 
      print("Dates saving error") 
     } 
} 

@IBOutlet weak var setTimer1: UIButton! { 
     let appDel:AppDelegate = UIApplication.sharedApplication().delegate as! AppDelegate //Import Appdelegate 
     let context:NSManagedObjectContext = appDel.managedObjectContext 

     var request = NSFetchRequest(entityName: "TimerDates") 
     request.returnsObjectsAsFaults = false 

     do { 
      print(request[0].buttonTimer1Date) 
     } catch { 
      print("Cannot request data") 
     } 
} 

에 적용하기 위해 노력하고있어에있는 NSDate 변수로 설정하고 현재 날짜를 인쇄 콘솔에 날짜가 저장되는 것을 알 수 있습니다. 그러나 NSDate()에 request[0]을 다시 설정하려고합니다.

이것이 가능한가, 아니면 내가 잘못 생각할 것인가?

건배.

답변

0

당신은 페치 요청

let appDel = UIApplication.sharedApplication().delegate as! AppDelegate //Import Appdelegate 
    let context = appDel.managedObjectContext 
    let request = NSFetchRequest(entityName: "TimerDates") 

    do { 
     let allDates = try context.executeFetchRequest(request) as! [NSManagedObject] 
     if !allDates.isEmpty { print(allDates[0].valueForKey("dates") } 
    } catch let error as NSError { 
     print("Cannot request data", error) 
    } 

그러나 IBOutlet의 폐쇄로이 코드가 좀 이상해을 실행해야합니다.

+0

대단히 감사합니다. 해결책을 찾아 보겠습니다. 사실'viewDidLoad()'에서 호출되었으므로 IBOuttlet 밑에 넣어두면 더 명확하게 달성하려고 시도했음을 알 수 있다고 생각했습니다. 상대적으로 newby로서, 나는 틀 렸습니다. 앞으로 내 코드를 정확하게 게시 할 것입니다. – prikkles