2011-03-16 28 views
0

可以說我有以下設置:如何使用NSManagedObject布爾屬性類型正確設置UISwitch ON狀態?

.... 
UISwitch gpsSwitch; 

// the below object has a gpsEnabled property of type boolean - default NO 
NSManagedObject *typeObject; 
.... 

去有關正確調用究竟如何:

self.gpsSwitch.on = [self.typeObject valueForKey:@"gpsEnabled"]; 

這總是返回警告:傳遞的參數1「西頓:」時將整數沒有演員的指針。並且不起作用。

我已經試過:

(BOOL)[self.typeObject valueForKey:@"gpsEnabled"]; 
(NSInteger)[self.typeObject valueForKey:@"gpsEnabled"]; 

這些鑄件沒有,似乎工作?什麼解決? :)

回答

1

[self.typeObject valueForKey:@"gpsEnabled"]返回和NSNumber對象。

[[self.typeObject valueForKey:@"gpsEnabled"] boolValue]返回BOOL。

self.gpsSwitch.on需要BOOL。

即使您在覈心數據模型中設置了布爾值或整型值或其他值,它們也總是被重新設置/設置爲NSNumbers。有點混亂。我喜歡在我的NSManagedObject子類中爲我進行轉換。

+0

謝謝先生!就是這樣。 – 2011-03-17 13:09:07