浏览器项目总结
避免更多的写c的基本函数 例如switch等
可以用数组+index查询
获得字符串中的第n个字符
charcterAtIndex:n
分割字符
componentsSeparatedByString: objectAtIndex n
索引样式是:n(1)符n(2)符n(3)
代理是先执行的去实现协议
后执行的定义代理
//设置UITextField边框样式
[field setBorderStyle:UITextBorderStyleRoundedRect];
//查询field开头的字符串是否是http://
[field.text hasPrefix:@"http://"]
//设置nav的title
hisView.navigationItem.title = @"历史记录";
//获得当前页面的title
NSString * title = [self.webView stringByEvaluatingJavaScriptFromString:@"document.title"];
//获得当前页面的NSString型的url
self.field.text = [[[webView request]mainDocumentURL]absoluteString]
*判断时应多方面考虑 例如字符串为空可以是长度为0
*UIAlertView 选择按键时触发的代理
//UIAlertView 设置view为输入样式 并生成textField
[alView setAlertViewStyle:UIAlertViewStylePlainTextInput];
textField = [alView textFieldAtIndex:0];
//UIAlertView 选择按键时触发的代理
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex;
//浏览器中的NSUserDefaults 的使用 及数据库的思路
//移除数据库中对应的数组
[userDefaults removeObjectForKey:@"bookmark"];
---------------存入数据-----------------
1、新建NSUserDefault 因为它是单例所以无论那个类里建的它都是同一个数据库
2、新建一个Dictionary放置数据
3、从数据库中取出之前的数据 放入NSArray中
4、新建可变数组 把取出的NSArray转成可变数组
5、把放置数据后的dic加入到这个数组中
6、把这个数组放到userDefault中
ps:可以用一个全局变量的NSArray存dic 可以省去3、4步
代码示例:
NSString * bookmark= textField.text;
NSString * url = self.aview.field.text;
// [userDefaults removeObjectForKey:@"bookmark"];
NSDictionary * dic = [[NSDictionary alloc]
initWithObjectsAndKeys:bookmark,@"bookmark",url,@"url", nil];
userDefaults = [NSUserDefaults standardUserDefaults];
NSArray * arr0 = [userDefaults objectForKey:@"bookmark"];
NSMutableArray * arr = [[NSMutableArray alloc]initWithArray:arr0];
[arr addObject:dic];
[userDefaults setObject:arr forKey:@"bookmark"];
-------------------读取数据--------------------
1、新建相应的可变数据类型
2、新建NSUserDefault
3、在userDefault按key值取出arr
4、遍历arr
5、每遍按照前面在dic中设置的key值取出想要的值,并把值放到可变的数据类型中,这样就取出了所有dic中相同key值组成的array
代码示例:
titleArr = [[NSMutableArray alloc]init];
urlArr = [[NSMutableArray alloc]init];
NSUserDefaults * userDefaults = [NSUserDefaults standardUserDefaults];
NSArray * arr = [userDefaults objectForKey:@"history"];
for (NSDictionary * dic in arr) {
NSString * str1 = [dic objectForKey:@"title"];
NSString * str2 = [dic objectForKey:@"url"];
[titleArr addObject:str1];
[urlArr addObject:str2];
}