0

我有个问题。我正在调用另一个类中的方法。我之前调用过它,它工作得很好,但是我在接近课程末尾的另一个方法中回调,我有这个错误:

-(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:]:无法识别的选择器发送到实例。我不明白为什么工作一次但不是第二次。你们中的任何人都可以给我一些关于如何解决这个问题的指示吗?

我会非常感谢你的帮助。

4

2 回答 2

2

从 IOS 5 开始,您拥有ARC(自动引用计数),它会自动正确释放对象。无论如何,您没有为mySecondClasss班级分配内存。不知道为什么它甚至在第一种方法中也有效。

而不是使用

mySecondClasss *second = [[mySecondClasss init] autorelease];

尝试使用

mySecondClasss *second = [[mySecondClasss alloc] init];
于 2013-09-24T00:54:48.077 回答
-3

您确定要向函数发送字符串吗?该错误意味着该函数未获取字符串。

例如:

[self methodOne:@"Properly formatted string"];
于 2013-09-24T01:00:10.603 回答