我有问题。我在另一个类中调用一个方法。我以前称它为完美但我在课程结束时用另一种方法回调我有这个错误:
-(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:]:发送到实例的无法识别的选择器。我不明白为什么工作一次但不是第二次。你们中的任何人都可以给我一些指示,我该如何解决这个问题?
我真的很感谢你的帮助。
答案 0 :(得分:2)
从IOS 5开始,您有 ARC(自动引用计数),它会自动正确地释放对象。无论如何,你没有为mySecondClasss
类分配内存。不知道为什么它甚至在第一种方法中起作用。
而不是使用
mySecondClasss *second = [[mySecondClasss init] autorelease];
尝试使用
mySecondClasss *second = [[mySecondClasss alloc] init];
答案 1 :(得分:-3)
您确定要向该函数发送字符串吗?该错误意味着该函数没有获得字符串。
例如:
[self methodOne:@"Properly formatted string"];