2011-05-11 26 views
0

我正在为OS X项目使用WSDL2OBJC。部分由WSDL2OBJC生成的代码向NSNumber添加一个类别。虽然我使用的代码,我试图呼吁一个NSNumber的新方法,并得到一个错误:NSNumber类别错误,因为NSCFNumber

+[NSCFNumber xmlNodeForDoc:elementName:]: unrecognized selector sent to class 0x7fff70b6b8c8 

我读过的NSNumber是一类集群,具有私有类和NSCFNumber是类整数。我怎样才能使这个工作?由于它是私人类,因此我无法将该类别添加到NSCFNumber。这个代码适用于我拥有的iPhone项目。

+0

我得到了这个工作。看起来问题是内存问题。我正在将NSNumber传递给[NSInvocation setArgument:atIndex:]。它在iPhone应用程序中工作,因为我正在创建一个变量并通过引用传递它。我相信它不适合我,因为我删除了创建一个单独的var,只是做了[NSNumber numberWithInt:]。 – Brian 2011-05-11 16:26:01

+1

很高兴你解决了它!请考虑花点时间将解决方案作为答案发布并接受它;这样这个问题就不会显示为“未答复”。 – 2011-05-12 03:53:56

回答

0

我得到了这个工作。看起来问题是内存问题。我通过NSNumber[NSInvocation setArgument: atIndex:]。它在iPhone应用程序中工作,因为我正在创建一个变量并通过引用传递它。我相信它不适合我,因为我删除了创建一个单独的变种,只是做了[NSNumber numberWithInt:]

+0

我面临同样的问题,但不能解决它。你能解释一下是什么导致了这个问题? 我试过,[[[NSNumber alloc] initWithInt:] autorelease]以及[NSNumber numberWithInt:],但只要setArgument:atIndex:完成,相同的保留计数变为-1。 – PushpRaj 2012-10-09 12:56:00