現在、私はまだいくつかのドキュメントとチュートリアルを読んでいNSTimer
ます。私の現在の理解から、タイマーを呼び出して、それが繰り返されるようにメソッドを与えます。それからアイデアが浮かびました。(他のアプリプロジェクトに取り組んでいます)
私がやろうとしていること
- 埋め込む
UIWebView
- 現在のURL(絶対文字列)をチェックするメソッドを使用して
NSTimer
(おそらく0.5秒)を実装します。指定したものでない場合は、URLをリダイレクトします。UIWebView
UIWebView
実装したいコードがあります。その目的は、知識を修正し、UIWebView
作業NSTimer
を開始する前にその妥当性を確認することです(まだドキュメントを読んでいます。詳細を確認して、もっと試してみたいと思います。それに取り組む前に)
今私にとって紛らわしい部分は、私のメソッドは互換性がありNSTimer
ますか?メソッドNSTimer
内で使用することはもっともらしいでしょうか?UIWebView
viewDidLoad
アプリが0.5秒ごとにメソッドを継続的に実行するため、メモリの過負荷/クラッシュが発生しますか?
例NSTimer
:(間違っている場合は訂正してください。ただし、ユーザーがにいる限り永久に実行したいので、UIWebView
このコードセットのみが必要で、インクルードは含まれませんNSRunLoop
)
NSTimer *t = [NSTimer scheduledTimerWithTimeInterval: 2.0
target: self
selector:@selector(onTick:)
userInfo: nil repeats:NO];
-(void)onTick:(NSTimer *)timer {
//do smth
}
EDIT2- @Robert Ryan、これは私が使用しているコードです(これは私が最初にこれに変更したときにちょうど今動作します)**(range2セクションをブロックした場合、エラードメインエラー-999は停止しました。しかしビューはまだロードされません)
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
NSString *currentURL = [[request URL] absoluteString];
NSRange range1= [currentURL rangeOfString:@"news"];
NSRange range2= [currentURL rangeOfString:@"pdf"];
if (range1.location == NSNotFound)
{
NSURL *url = [NSURL URLWithString:@"http://www.imc.jhmi.edu/news.html"];
[webView loadRequest:[NSURLRequest requestWithURL:url]];
return NO; //no to this if its not found.
}
if(range2.location==NSNotFound)
{
NSURL * url = [NSURL URLWithString:@"http://www.imc.jhmi.edu/news.html"];
[webView loadRequest:[NSURLRequest requestWithURL:url]];
return NO; //no to this if its not found
}
return YES; //everything else ok
}
EDIT3-NSRange range1とrange2の両方を1つのステートメントに組み合わせると、再び機能します(1時間後も機能することを願っています。xD)
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
NSString *currentURL = [[request URL] absoluteString];
NSRange range1= [currentURL rangeOfString:@"news"];
NSRange range2= [currentURL rangeOfString:@"pdf"];
if (range1.location == NSNotFound & range2.location==NSNotFound)
{
NSURL *url = [NSURL URLWithString:@"http://www.imc.jhmi.edu/news.html"];
[webView loadRequest:[NSURLRequest requestWithURL:url]];
return NO;
}
return YES;
}