2012-02-11 8 views
0

私は自分のWebブラウザをiPad用に作っています。私は履歴を作成しようとしている間に問題があります。ここでは、コードがあります:ウェブブラウザの履歴を作成する方法

.m 
-(void)viewDidLoad{ 
[self historyMethod]; 
//more settings... 
} 

-(void)historyMethod{ 
NSString *googleString= @"http://www.google.es"; 
    NSString *currentURLString=TextField.text; 
    [historyArray addObject:googleString]; 
    if ([googleString isEqual: currentURLString]) { 
     googleString = nil; 
     [TableView reloadData]; 
    } 


    [historyArray addObject: currentURLString ]; 
    [TableView reloadData]; 

} 

私が持っている問題はhistoryMethodは一度だけ実行され、私はそれがすべての時間を働く必要があるということです!私は初心者なので、方法についてあまりよく知らないし、どのようにしてうまく動作させることができます。私はwhile loopで試してみましたが、うまくいきませんでした。私を助けてください!

答えて

1

あなたはメソッドを繰り返し呼び出すことを意味しますか? NSTimerのようなものを使用してメソッド呼び出しを繰り返すことができます。

[NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(historyMethod) userInfo:nil repeats:YES]; 

これは、あなたの方法ごとに1秒を呼び出して、あなたのviewDidLoad方法でこれを置き、代わりにあなたのhistoryMethodを呼び出します。

しかし、方法を理解できない場合は、Objective-Cチュートリアルをお探しの方にお勧めします。

+0

UIWebViewDelegate

UIWebViewDelegateProtocolはありがとう、それが完璧に動作します。 – user1200160

1

UIWebViewを使用している場合、コントローラをUIWebViewDelegateにしたいと思うかもしれません。

- (void)webViewDidFinishLoad:(UIWebView *)webViewを実装すると、ページの をロードすることができます。このデリゲートメソッド内には、見てみましょうwebview.request.URL

によってURLを取得することができます:

NSURLRequest

関連する問題