为什么历史方法不起作用

时间:2012-02-08 15:31:08

标签: iphone objective-c ios ipad

我正在制作一个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的吗?

1 个答案:

答案 0 :(得分:2)

isEqual:方法是对象等价测试,返回BOOL值。这些行:

NSString *firstURL;
[firstURL isEqual: @"http://www.google.com"];
NSString *currentURL;
[currentURL isEqual: field.text];

实际上并未将变量firstURLcurrentURL设置为任何内容。

如果要测试两个字符串之间的相等性,则应使用:

if ([firstURL isEqualToString:currentURL]) {
}

如果仍然没有得到预期的结果 - 设置断点或使用NSLog函数检查viewDidLoadaddStringsToHistory方法中变量的内容。