2017-08-09 44 views
0

我在我的Core Data模型中有一個實體,其中一個是一個名爲isChecked的布爾值數組。在我設置和保存實體值的代碼中,我有以下代碼片段。打印出一個Core Data布爾數組返回一個新的行字符

task.isChecked = [Bool]() 

    for index in 0..<endDate!.interval(ofComponent: .day, fromDate: Date()){ 
     print("checking task") 
     task.isChecked!.append(false) 
    } 

不要擔心endDate!.interval(ofComponent: .day, fromDate: Date()),因爲我已經驗證了循環運行。

但是,後來當我打印實體的描述時,我得到以下內容:isChecked = "(\n 0,\n 0,\n 0\n)";。這是循環運行三次時得到的結果。有人能解釋我能做什麼以及爲什麼它不能打印布爾值?

+0

如果你在表單中的描述有什麼問題可以幫助? – OOPer

+0

@OOPer這很難閱讀,而且我不確定這些值是否正確,因爲我看不懂它們。 – williej926

+0

這是'NSArray'(Core Data內部使用'NSArray')使用的格式,'NSArray'將Bool內容保存爲'NSNumber'。所以,不需要擔心內容。你想爲調試輸出做些努力嗎? – OOPer

回答

0

您可以覆蓋任務實體的debugDescription並替換爲更有意義的內容。

Override debugDescription: String { 
    Return self.isChecked 
} 

和說明書中,你可以循環陣列上,看看是否與調試印刷