2015-10-05 23 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