0

我使用下面的代码来调用UITableView

-(void)testJumpSection

{
     NSIndexPath *indexPath1= [NSIndexPath indexPathForRow:0 inSection:0];
    [viewControllerObject tableView:viewControllerObject.masterTableView didSelectRowAtIndexPath:indexPath1];
    int backButtonSection = viewControllerObject.backButtonSection;
    NSIndexPath *indexPath2= [NSIndexPath indexPathForRow:0 inSection:2];
    [viewControllerObject tableView:viewControllerObject.masterTableView didSelectRowAtIndexPath:indexPath2];
    int backButtonSection2 = viewControllerObject.backButtonSection;
    [viewControllerObject backButtonView:viewControllerObject.button1];
    int backButtonSectionTestValue = viewControllerObject.backButtonSection;
    STAssertTrue(backButtonSectionTestValue==1, @"TestJumpSection");
}

我正在为展开/折叠 uitableview 编写此测试用例。当用户单击第 0 节的行然后单击第 3 节时。现在用户可能会单击后退按钮来导航第 2 节。现在我必须得到结果 backButtonsection 值减 1。

它工作正常,但我无法获得选定的部分值,并且出现此错误:

[__NSCFConstantString stringByAppendingString:]: 无参数"

关于我做错了什么的任何想法?

4

1 回答 1

0

很明显,您调用stringByAppendingString:__NSCFConstantString具有 的参数nil

一个简单的例子会导致这个问题是

[@"some string" stringByAppendingString:nil];

一个更可能的原因是

NSString *str;
str = @"some string"
NSString *anotherStr = nil;
// some other code that should set anotherStr but did not
NSString *result = [str stringByAppendingString:anotherStr]; // error

所以去找出stringByAppendingString:并检查他们的论点

顺便说一句,无论如何你都应该从调试器中知道这一点,因为它应该告诉你哪一行导致了问题。

于 2013-04-10T09:42:23.133 回答