2012-02-16 464 views
1

我知道這可能是由設計,但我想我會首先與社區進行檢查。NSManagedObject屬性設置爲零返回0

如何當我有一個新的NSManagedObject,其NSNumber屬性返回0?我希望他們一直到他們已經設置爲止。

+0

'nil' **是** 0.所以'NULL'。有什麼問題? – Costique 2012-02-16 05:26:46

回答

4

你剛纔忘了取消選中default值的選擇嗎?
如果default未選中,並且該屬性從未設置,NSManagedObject將爲該屬性返回nil。至少在我的應用中會發生這種情況。

enter image description here

+0

是的,那會是問題:) – 2012-02-17 16:10:20

0

這是一個NSNumber的行爲。一旦它被創建,但沒有分配一個值,它被設置爲0。

希望幫助

+0

我仍然認爲未設置的屬性值是'nil'。由於任何發送給'nil'的消息都會返回'nil','[nil intValue] == 0'。 – Costique 2012-02-16 05:36:53

+0

謝謝,姆布。它有助於。只是有點叮咬。你將如何檢查是否設置了NSNumber屬性?有沒有辦法?我應該使我的默認值-1或類似的東西? – 2012-02-16 05:58:11

+0

在獲得'intValue'之前,首先檢查屬性是否爲'nil'。 – 2012-02-16 07:29:46