2012-02-08 11 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 = @「何か」をしていますか? ? – Beuj

+2

何が "addStringsToTheHistory"を呼び出すか – ader

+2

セマンティックの正確さのために、実際にタイプがNSURL *でない限り、変数firstURLとcurrentURLを呼び出さないでください。 –

答えて

2

isEqual:メソッドはオブジェクト同値テストであり、BOOLの値を返します。ライン:

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

は、実際には何にも変数firstURLcurrentURLを設定しないでください。

あなたが使うべき2つの文字列の間の等価性をテストする場合:あなたはまだあなたが期待する結果を取得していない場合は

if ([firstURL isEqualToString:currentURL]) { 
} 

- ブレークポイントを設定したり、変数の内容を検査するNSLog関数を使用しますviewDidLoadaddStringsToHistoryの方法で

関連する問題