美文网首页
iOS知识点总结

iOS知识点总结

作者: 陪你看日出去 | 来源:发表于2016-07-06 19:20 被阅读42次

    一、Object-C中变量默认是私有的吗,方法默认是私有的吗?

    Object-C中既有私有方法,也有私有变量。
    1、先说私有方法:
    由于Object-C的动态消息传递机制,OC中不存在真正意义上的私有方法。如果你不在.h文件中声明,只在.m文件中实现,或者在.m文件的Class Extension里面声明,那么基本上和私有方法差不多。
    2、至于私有变量是可以通过@private来声明,例如:
    @interface Sample : NSObject{
    @private
        NSString *tteesstt;
    }
    @property (nonatomic,strong) NSString *hoge;
    - (void)foo;
    @end
    则tteesstt变量是私有的。而属性hoge是默认公有。
    
    现在Apple官方文档里是用property比较多,直接定义instance variable(实例变量)少。将property定义到.m的Class Extension(类扩展)也基本上和私有变量差不多。
    简而言之,将你希望公有的放到.h文件,私有的放到.m文件。在import时只import .h文件(.m文件也是可以import的,但是我们一般不这么做)。

    二、请简述你对工厂方法的理解。

    什么是工厂方法:在基类中定义创建对象的一个接口,让子类决定实例化那个类,工厂方法让一个类的实例化延迟到子类中进行。工厂方法要解决的问题的对象的创建 时机,它提供了一种拓展的策略,很好的符合了开放封闭原则,工厂方法也叫作虚构造器。

    三、请简述StoryBoard和Xib的联系和区别

    1、XIB的基础知识:

    (1).xib = nib;
    (2).xib的加载:
     [[NSBundle mainBundle] loadNibName:@"rowView" ower:nil options:nil];
    

    2、XIB和Storyboard的异同:

    (1)不同:
     storyboard:描述软件界面,大范围,重量级,比较适合描述整个软件的所有界面;
     xib:描述软件界面,小范围,轻量级,比较适合描述小界面(局部界面)。
    
    (2)相同:
     都用来买书软件界面;
     都用InterfaceBuilder工具来编辑。
    

    3、File‘s owner的使用:

    (1)在xib文件中设置file‘s owner的class属性
    (2)建立File‘s owner 与控件之间的联系
    (3)利用代码加载xib,传递owner参数
    

    四、UITableView中有哪些必须要实现的数据源的方法。

    1、每组的行数:
    -(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section;
    
    2、每行的Cell:
    -(UITableViewCell*)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

    相关文章

      网友评论

          本文标题:iOS知识点总结

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