2016-03-28 33 views
0

if set min。屬性值爲「X」等於1.比某些情況下,值爲0,模型將如何表現?拋出錯誤/警告?我的場景是我想在標籤中顯示消息的數量,但是當沒有消息時,零點出現在視圖中。而不是代碼,我只想嘗試通過xcmod​​el(如果可能的話),即如果計數小於最小值。該屬性的值然後標籤應該隱藏。它在第一次運行時隱藏,如果爲零但視圖控制器的一些過渡運動導致更新該計數標籤導致零顯示。iOS中xcdatamodel屬性的最小值是什麼意思?

回答

0

我已經做了一個遊戲一個人的,並用它進行計分:

var Score: Int = 0 { 
    didSet { 
     ScoreLabel.text = "Score: \(Score)" 
    } 
} 

,你可以把一個if語句在它隱藏標籤:

Label.text = Score 
If score < min { 
Label.hidden = true 
}else{ 
Label.hidden = false 
} 
0

核心數據不會讓如果值在建模數據時超出了設置的邊界,則可以保存上下文。

實體名稱爲SomeEntity。它有一個屬性count(的Integer 16類型),它被設置爲Minimum = 0

這裏是剪斷其中新的對象:

SomeEntity *object = [NSEntityDescription insertNewObjectForEntityForName:NSStringFromClass([SomeEntity class]) 
                 inManagedObjectContext:context]; 

object.count = @(-1); 

NSError *error; 
BOOL success = [context save:&error]; 

// success == NO here 

if (!success) { 
       NSLog(@"ERROR saving data: %@", error.localizedDescription); 
      } 

這裏是error對象調試描述:

Printing description of error: 
Error Domain=NSCocoaErrorDomain Code=1620 "The operation couldn’t be completed. (Cocoa error 1620.)" UserInfo={NSValidationErrorObject=<SomeEntity: 0x7876eed0> (entity: SomeEntity; id: 0x7876d970 <x-coredata:///SomeEntity/tEAD37BAD-81E7-47AE-A182-E35D9BCC69DB2> ; data: { 
    count = "-1"; 
    someUUID = "CD69E59E-B8AD-4615-8257-1F1BD6632B3E"; 
}), NSValidationErrorKey=count, NSLocalizedDescription=The operation couldn’t be completed. (Cocoa error 1620.), NSValidationErrorValue=-1} 
0

Core Data Programming Guide

驗證約束應用由核心數據僅在保存 操作或根據請求

所以有可能的NSManagedObject屬性設置爲小於規定的最小的值(你可以在它是有道理的應用程序流量任何時候直接調用驗證方法 ),但它會情況下, NSError期間NSManagedObjectContext保存。

至於你的確切情況,如果沒有查看你的數據模型和代碼,很難給你一個建議。我可能會推薦你調試你的視圖控制器轉換和查看更新(因爲你說某些特定的轉換序列導致視圖行爲不正確)。

相關問題