2011-06-08 20 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 

类集群内部类的所有标识为同样的公共课。