首页 > 代码库 > OC开发学习过程中的一些小经验

OC开发学习过程中的一些小经验

1、引入头文件以及框架 :  @import   XXXX         XXXX表示需要引入的文件/框架
2、头文件引用循环:两个头文件相互包含时,将其中一个头文件的类用@class引入
3、设置边角幅度 :[  XX.layer setCornerRadius:100 ]  ;    XX表示需要设置边角的对象,一般是给按钮设置,边角幅度大小跟最后数字取值关联。
4、多个引号处理方法:引号前加\,如果还有括号影响,就再单独用@“ “将其框起来。。专业术语叫转义字符。。

5、在UIWebview中显示下载到本地的HTML文件:首先把该文件添加到工程目录,然后把路径定位到主包找到HTML格式文件,装到一个字符串里,再定义一个data把字符串内容取到,webview有个loaddata方法可以载入data数据

UIWebView *web = [[UIWebView alloc]initWithFrame:CGRectMake(0, 0, 320, 480)];    [self.view addSubview:web];    NSString *str = [[NSBundle mainBundle]pathForResource:self.name ofType:@"html”];//NSBundle mainBundle即定位到主包,后面type指添加文件类型    NSData *data = [NSData dataWithContentsOfFile:str];    [web loadData:data MIMEType:nil textEncodingName:@"UTF-8" baseURL:nil];

6、Jason转OC对象

    NSString *js = @"{\"name\":\"Beyond\",\"Age\":20,\"Person\":{\"name\":[\"JiaJu\",\"ShiRong\"]}}";//多个引号在一起会出错。。得在引号前面加\分隔    NSData *data = [js dataUsingEncoding:NSUTF8StringEncoding];//先变成data    NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:data  options:NSJSONReadingAllowFragments error:nil]];//定义一个字典来存放data    [dict writeToFile:@"/Users/apple/Desktop/text.be" atomically:YES];    //把字典写入文件    NSLog(@"%@",dict);

 7、有段神奇代码,它不能被手动调用,但是,在下面四种情况下,会自动调用

-(void)layoutSubviews{ [super layoutsubviews];}
a.改变父视图frame  之类与布局相关的方法
b.改变它本身的frame/bounds...的时候
c.添加到父视图上时(addsubviews)
d.调用它的setneedlayout时
 
8、定义view大小时:view跟bounds两个区别在于,用view的话,子视图会继承父视图的起点坐标,而bounds则不会,他默认起点坐标是(0.0)  这里属于绝对坐标跟相对坐标的问题
 
 
先写这么一点点,基本都是自己的理解,肯定有错误,而且还不少,期待指正,明天继续更新