2012-02-08 78 views
-1

我正在製作一個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

你爲什麼要做firstURL = @「something」; ? – Beuj 2012-02-08 15:37:46

+2

什麼叫「addStringsToTheHistory」 – ader 2012-02-08 15:56:52

+2

對於語義的正確性,除非它們實際上是'NSURL *'類型,否則不應該調用變量'firstURL'和'currentURL'。 – 2012-02-08 16:00:26

回答

2

isEqual:方法是一個對象等價測試,並返回一個BOOL值。該行:

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

實際上不設置變量firstURLcurrentURL任何東西。

如果你想測試兩個字符串之間的平等,你應該使用:

if ([firstURL isEqualToString:currentURL]) { 
} 

如果你還沒有得到你所期望的結果 - 設置斷點,或者使用NSLog功能檢查你的變量的內容在你的viewDidLoadaddStringsToHistory方法中。

相關問題