我正在使用Action"Log Message"的断点,我想打印NSIndexPath的行.所以我试过了,cell row @indexPath.row@但没有打印出来.我也尝试使用调试器命令:expr (void)NSLog(@"indexPath row:%i", indexPath.row)但是我收到一个错误:error: property 'row' not found on object of type 'NSIndexPath *'
我究竟做错了什么?
Jas*_*oco 27
点语法只是编译器添加的语法糖.我一直不同意将其添加到Objective-C,但有些人喜欢它.您必须记住的是,这些点将被编译器转换为方法调用,因此当您直接发送消息时(例如在调试器中),您必须使用实际的方法调用.尝试重写你的表达:
expr (void)NSLog(@"indexPath row: %ld", (long int)[indexPath row])
Run Code Online (Sandbox Code Playgroud)
我不确定调试器的基本日志方法是否会执行这样的方法调用,因此您可能必须使用表达式类型.
Mik*_*e M 20
我认为这是一个特例.下面的代码可以工作,但只有row初始化为某个值.
(lldb) print (NSInteger)[indexPath row]
Run Code Online (Sandbox Code Playgroud)
我认为这可能与以下事实有关:row属性是UIKit中NSIndexPath的扩展,并且作为该类的类别实现.
| 归档时间: |
|
| 查看次数: |
23555 次 |
| 最近记录: |