Ios 尝试只允许某些字符串进入URL栏

Ios 尝试只允许某些字符串进入URL栏,ios,objective-c,uiwebview,nsstring,Ios,Objective C,Uiwebview,Nsstring,总而言之,我的应用程序中有一个浏览器,我只想让它启动5个网站,别的什么都不要。有没有一种方法可以让我的浏览器通过设置自定义字符串来启动5个网站,比如如果{用户输入这个字符串}转到那个,然后{不加载} 下面是我的URL部分的代码 - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view from its nib. // go to google.com NSURL *u

总而言之,我的应用程序中有一个浏览器,我只想让它启动5个网站,别的什么都不要。有没有一种方法可以让我的浏览器通过设置自定义字符串来启动5个网站,比如如果{用户输入这个字符串}转到那个,然后{不加载}

下面是我的URL部分的代码

- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view from its nib.

// go to google.com
NSURL *urlRequest = [NSURL URLWithString:@"http://www.google.com"];
NSURLRequest *request = [NSURLRequest requestWithURL:urlRequest];

// set text bar
urlbar.text = [urlRequest absoluteString];

// load request
[webView loadRequest:request];

// show loading icon
[[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:YES];
}
如果不是太详细,或者我遗漏了什么,我会说我是一个初学者

这是我的附加代码

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil: (UINavigationController *)navigationController: (Controller *)transmission
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
    // Custom initialization
    self.controller = navigationController;
    self.libtransmission = transmission;
}
return self;
}

- (IBAction)go:(id)sender
{ 
// create url request
NSURL *urlRequest = [NSURL URLWithString:urlbar.text];
NSURLRequest *request = [NSURLRequest requestWithURL:urlRequest];

// load request
[webView loadRequest:request];

// make network icon visible
[[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:YES];
}
- (void)webViewDidFinishLoad:(UIWebView *)webView
{
 // update urlbar
urlbar.text = webView.request.URL.absoluteString;

// make the loading icon disappear
[[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:NO];
}

- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
[textField resignFirstResponder];
return YES;
}

- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}

将可以访问的站点放入一个数组,然后遍历该数组,查看键入的字符串是否在该数组中,如下所示

NSArray *sites = @[@"http://test.com", @"http://test1.com", @"http://test2.com", @"http://test3.com", @"http://test4.com"];
NSString *urlToOpen = URLTextField.text;
for (NSString *str in sites){
    if ([urlToOpen isEqualToString:str]){
        NSURL *urlRequest = [NSURL URLWithString:urlToOpen];
        NSURLRequest *request = [NSURLRequest requestWithURL:urlRequest];
        urlbar.text = [urlRequest absoluteString];
        [webView loadRequest:request];

    }
    else{
        //url user entered is not one of the 5 urls
    }
}

非常感谢您的回复。这对我来说很有意义,我从来没有想过这种方法,但我在将其插入Xcode时遇到了一个问题。当我这样做时,它收到一条URLTextField.text的错误消息,说它是一个未使用的属性。我猜我必须在h和m文件中声明属性,但是对于m文件,我需要在属性下声明什么?这甚至可能不是问题,但有什么想法吗?好吧,在我的回答中,
URLTextField
只是一个例子,说明人们输入地址的文本字段被调用了什么。将其替换为该文本字段的任何名称。好吧,urlbar.text是目前为止唯一能够平息警告的方法,但无论何时运行,它似乎都不起作用。你还有什么建议吗(我在上面贴了更多的代码),我现在很傻,可能是想得太多了。你有没有用你的URL替换
站点
数组中的对象?你确定urlbar设置正确并且不是零吗?我会考虑这个。谢谢你的回复。