2011-06-08 18 views
1

就像標題說,我有一對多的關係,許多人接受數字,它給了一個NSNumber,但是當我從coredata中取回數字時,它的形式是一個PFCachedNumber。任何想法,爲什麼這可能是?Coredata數字返回一個PFCachedNumber類的數字

謝謝!

for (UserNumber *info in pinNumberArray) { 

//The numbers I'm after are inside ergTimes. 
     NSSet *time = [[NSSet alloc] initWithSet:info.Times]; 

     for (ErgTimes *ergTimes in time){ 
      NSLog(@"Times Class : %@", [ergTimes.Twok class]); 
     } 
    }  
+0

當您恢復數據時,您是否分配返回的值並將它們轉儲到新的NSNumber中?也聽起來像PFCachedNumber是一種內部類,它以某種方式成爲Core Data的一部分 - 下面鏈接的頁面上有一些非常明亮的信息,您可能已經閱讀過。 http://www.duckrowing.com/2010/03/11using-core-data-on-multiple-threads/ – Luke 2011-06-08 20:17:15

+0

嗯,亞即使我指定我的coredata對象的NSNumber的權利,因爲我拉出它仍然告訴我這是一個PFCashedNumber – 2011-06-08 20:55:01

+0

一旦你再次提取數據,你的任務是什麼?你可以使用它/輸出等沒有錯誤? – Luke 2011-06-08 21:40:51

回答

1

我不會擔心它。這是一種常見現象。

NSNumber與大多數常見的API類一樣,實際上是一個「類簇」,其中大量的類僞裝成單個類。例如,如果將NSString初始化爲文件路徑,則實際上會返回一個專用於處理文件路徑的類。

我還沒有看到這個特殊的類,但我猜想PF代表「PrivateFramework」就像NS代表「NextStep自動」和CF代表「的CoreFoundation」。這可能是一個我們不應該輕易看到的內部課程。

(我逗樂了,他們拼寫的「緩存」不正確。)

您測試一類測試,像這樣一類集羣:

[pfCashedNumerObject class] == NSNumber 

類集羣內部類的所有標識爲同樣的公共課。