我正在制作一个ipad网络浏览器,当然我有一段历史。 UITableView运行良好,不起作用的是在历史数组中添加新字符串的方法,它不会给我任何错误。 这是代码:
.h
NSMutableArray *HistoryArray;
.m
-(void)viewDidLoad{
HistoryArray = [[NSMutableArray alloc]init];
}
-(void) addStringsToTheHistory{
NSString *firstURL;
[firstURL isEqual: @"http://www.google.com"];
NSString *currentURL;
[currentURL isEqual: field.text];
[HistoryArray addObject: @"http://www.google.com"];
if ([firstURL isEqual: currentURL]) {
[firstURL isEqual: @"something"];
[TableView reloadData];
}else{
[HistoryArray addObject: currentURL ];
[TableView reloadData];
}
}
任何人都知道为什么效果不好?是关于如何启动HistoryArray的吗?
答案 0 :(得分:2)
isEqual:
方法是对象等价测试,返回BOOL
值。这些行:
NSString *firstURL;
[firstURL isEqual: @"http://www.google.com"];
NSString *currentURL;
[currentURL isEqual: field.text];
实际上并未将变量firstURL
和currentURL
设置为任何内容。
如果要测试两个字符串之间的相等性,则应使用:
if ([firstURL isEqualToString:currentURL]) {
}
如果仍然没有得到预期的结果 - 设置断点或使用NSLog
函数检查viewDidLoad
和addStringsToHistory
方法中变量的内容。