2015-10-05 64 views
0

我试图设置条件断点,只有停在一排74“行”,但是,当我设置断点的条件下,它给了我一个错误说断点没有找到上NSIndexPath

Stopped dur to an error evaluating condition of breakpoint 1.1: "indexPath.row == 74" Couldn't parse conditional expression: 
error: property 'row' not foudn on object of type 'NSIndexPath *' 
error: 1 errors parsing expression 

我设置像这样的情况:

indexPath.row == 74 

有谁知道为什么会发生这种情况?你不能在断点处访问NSIndexPath的这些属性吗?我也尝试使用访问器方法而不是点符号,同样的错误。

+1

“行”和“部分”属性来自UIKit类别。尝试访问'[indexPath indexAtPosition:0]'(或'1' - 我忘记'row'是否位于索引'0'或'1')。 – rmaddy

+0

这很可能与'row'属性是一个[UIKit添加到'NSIndexPath'类]的事实有关(https://developer.apple.com/library/prerelease/ios/documentation/UIKit/Reference/ NSIndexPath_UIKitAdditions/index.html的#// apple_ref/OCC/instp/NSIndexPath /排)。 – dasblinkenlight

回答

1

你几乎在那里。你可以做到这一点,但你必须把它们放在首位并使用信息转发。就像这样:

(NSInteger)[indexPath row] == (NSInteger)74 

现在可以正常工作了。

+0

很棒,这个作品。你介意解释为什么这里需要演员吗?我几乎可以肯定,我已经在代码之前比较了indexPath行,并且它在不投射的情况下工作了......虽然我可能没有为我所知的所有haha –

+0

这是由于LLVM的工作方式。因为当你创建这个条件时,基本上LLVM在那里工作,并且LLVM对类型和东西非常严格。 – Soberman