>我有一个问题。我正在另一个类中调用一个方法。我之前调用它并且它工作得很好,但我在类结束时用另一种方法回调,我有这个错误:
-(void)methodOne:(NSString*)myString
{
mySecondClasss *second = [[mySecondClasss init] autorelease];
[second doSomething:myString];
/*
more code
*/
}
-(void)methodTwo:(NSString*)myString
{
mySecondClasss *second = [[mySecondClasss init] autorelease];
[second doSomething:myString];
/*
more code
*/
}
在第二个我收到此错误:
抛出异常:-[mySecondClasss doSomething:]:发送到实例的无法识别的选择器。我不明白为什么一次有效,第二次无效。你们中的任何人都可以给我一些如何解决这个问题的指示?
我真的很感激你的帮助。
从IOS 5开始,您就有ARC(自动引用计数),它可以自动正确释放对象。无论如何,您不会为 mySecondClasss
类分配内存。不知道为什么它甚至在第一种方法中有效。
而不是使用
mySecondClasss *second = [[mySecondClasss init] autorelease];
尝试使用
mySecondClasss *second = [[mySecondClasss alloc] init];
您确定要向函数发送字符串吗?该错误意味着函数未获取字符串。
例如:
[self methodOne:@"Properly formatted string"];