【发布时间】:2014-05-10 00:09:09
【问题描述】:
我有一个 uitableview,其中填充了我的 sqlite 数据库中的数据。 结果,当我点击内容为“测试”的第一个单元格时,我试图加载一个新视图。 所以我尝试了以下代码
if ([[patients objectAtIndex:indexPath.row]isEqualToString:@"test"])
{do this }
但我收到错误-[Patient isEqualToString:]: unrecognized selector sent to instance
在我如何访问我的数据库字符串以比较它们时我点击时的值时,我会很想得到一些帮助。
谢谢
P.S 这就是我如何将我的值添加到我的 uitableview cellForRowAtIndexPath
Patient *as = [patients objectAtIndex:indexPath.row];
cell.textLabel.text = as.region;
这段代码也给出了同样的错误
Patient *as = [patients objectAtIndex:indexPath.row];
if ([as.region isEqualToString:@"TEST"])
【问题讨论】:
-
[Patient isEqualToString:]: unrecognized selector告诉您您使用了Patient类未实现的操作 (isEqualToString)。这通常是因为调用中使用的对象不是您认为的类型。要做的事情是将[patients objectAtIndex:indexPath.row]的结果分配给一个临时变量,然后记录它或在断点处检查它以查看它是什么。 (然后,您可以将该 temp 用作isEqualToString调用的对象——将所有内容编码在一行不会提高效率。) -
@HotLicks 如果您查看我在原始消息中发布的最后一个代码,我在第二行添加了一个断点,我看到了.self、indexPath 和患者。在 indexPath 索引=NSUInteger)0null 但患者有 3 个对象(这是正确的),如果我在 0 上向下钻取,我看到 region=(_NSCFString *)@"TEST" 这是正确的。应该注意,我在 0 中还有 4 个其他列,但只关心 0
标签: ios objective-c sqlite uitableview