美文网首页
日常问题总结

日常问题总结

作者: 木子尚武 | 来源:发表于2016-04-15 11:20 被阅读37次

    1.presentViewController和pushViewController区别:
    presentViewController:与dismissViewControllerAnimated配对使用,不含有导航条
    pushViewController:push后的控制器view显示导航条
    2.- (BOOL)fileExistsAtPath:(NSString *)path isDirectory:(BOOL *)isDirectory方法理解:
    作用:1.判断path下文件是否存在
    2.判断是文件还是目录(isDirectory是传出参数,用于判断是文件还是目录)
    3.创建block匿名函数之前一般需要对self进行weak化,否则造成循环引用无法释放controller:

    __weak MyController weakSelf = self 或者 __weak __typeof(self) weakSelf = self;
    执行block方法体的时候也可以转换为强引用之后再使用:MyController
    strongSelf = weakSelf; if (!strongSelf) { return; }

    1. 告诉tableView所有cell的高度是自动计算的(根据设置的约束来计算)
      self.tableView.rowHeight = UITableViewAutomaticDimension;
      5.对于@property关键字,在类中一般声明私有成员变量以及setter和getter方法,而在分类中只会生成setter和getter方法
    • (void)load{
      NSLog(@"%f);
      }访问分类中的变量

    6.Invalid operands to binary expression:类型不匹配,可能是整形变量定义时前面加了*

    7.在类方法中,有些框架的方法不能被调用?(sd_setImageWithURL)
    8.关于XMGViewController *vc = [[XMGViewController alloc] init]中的init方法小结:
    init方法底层默认会调用initWithNibName方法,首先判断nibName有没有值,若有值,则直接加载nibName指定的文件,若没有执行以下代码:
    1.若nibName为空,则加载与控制器同名的xib,XMGViewController.xib
    2.若没有与控制器同名的xib,则加载相似名称的xib,XMGView.xib
    3.若没有与控制器相似名称的xib,则系统默认创建一个空的view
    9.当页面跳转,跳转到的页面无法设置背景色的时候可能是控制器没有view
    10.快速将项目提交到远程代码库的方法:
    1.在oschina创建代码库
    2.利用xcode将远程代码库check到本地初始化,本地化。
    3.将已经创建的项目放到与git同级的目录下,用xcode打开项目,然后点击commit,并且同事勾选push一切就ok了。
    11.layoutSubviews在以下情况下会被调用:
    1、init初始化不会触发layoutSubviews
    但是是用initWithFrame 进行初始化时,当rect的值不为CGRectZero时,也会触发
    2、addSubview会触发layoutSubviews
    3、设置view的Frame会触发layoutSubviews,当然前提是frame的值设置前后发生了变化
    4、滚动一个UIScrollView会触发layoutSubviews
    5、旋转Screen会触发父UIView上的layoutSubviews事件
    6、改变一个UIView大小的时候也会触发父UIView上的layoutSubviews事件
    12.动态语言与静态语言的区别:
    静态语言的数据类型是在编译时确定的,动态语言的数据类型是在程序运行时确定的.多数静态语言在使用之前,必须声明数据类型;
    oc动态语言的三大特性:动态类型\动态绑定\动态加载

    相关文章

      网友评论

          本文标题:日常问题总结

          本文链接:https://www.haomeiwen.com/subject/fabmlttx.html