ios周刊 第四期
耽搁了3周的iOS周刊又被我拾起了。真是抱歉,因为状态不好,一直在偷懒。
1.Objective-C允许向某个值为nil的变量发送消息,且不会发生任何事情。在其他语言中,
向空指针(值为0的指针)发送消息是非法的,
初始化方法在执行时,无法确定新创建对象的实例变量是否已经处于正确设置。实例变量
可能具有不正确的值,也可能没有被正确分配,如果这时调用存取方法访问实例变量,则很可
能会引起错误。本书在初始化方法中直接访问实例变量,不调用存取方法。
2.webview 页面返回原生页面
方法就是在html5 代码中添加:
function chooseCar(){ //为按钮的点击时间
var url="testapp:";
document.location = url;
}
然后实现代理方法
- (BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType {
NSString *requestString = [[request URL] absoluteString];
NSArray *components = [requestString componentsSeparatedByString:@":"];
if ( components.count >0&&[(NSString *)[components objectAtIndex:0] isEqualToString:@"testapp"]) {
UIAlertView *alert = [[UIAlertView alloc]
initWithTitle:@"Alert from Cocoa Touch" message:@"test"
delegate:self cancelButtonTitle:nil
otherButtonTitles:@"OK", nil];
[alert show];
return NO;
}
return YES;
}