一切都很好,除了displayMatch()和deleteMatch() 显示的结果是"没有匹配"虽然我输入的输入有一些匹配
可能这部分问题会有所帮助
-(void)pauseGameSoUserDoesNotDieForNoReason:(NSNotification*)theNotification
答案 0 :(得分:2)
嗯,您正在将您在displayMatch()方法中读取的字符串与您的联系人列表中的元素进行比较:
in.equals(c)
由于String不能等于联系人,因此您的列表将保持为空。
您可以更改Contact类中的equals()方法,将其内容与给定的String进行比较(最后一个成员的示例:)
public boolean equals(Object otherObject)
{
if (otherObject == null)
{
return false;
}
else if (otherObject instanceof String) {
String otherString = (String) otherObject;
String lowerCaseString = otherString.toLowerCase();
return this.last != null && this.last.toLowerCase().contains(lowerCaseString);
}
else if (getClass() != otherObject.getClass())
{
return false;
}
else
{
Contact otherContact = (Contact)otherObject;
return (first.equals(otherContact.first) &&
last.equals(otherContact.last)&&
phone.equals(otherContact.phone)&&
email.equals(otherContact.email));
}
}
然后使用
c.equals(in);
代替。