iOS知识点总结

一、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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 原文地址 http://www.cnblogs.com/kenshincui/p/3983982.html 大家都...
    怎样m阅读 1,307评论 0 1
  • 背景 担心了两周的我终于轮到去医院做胃镜检查了!去的时候我都想好了最坏的可能(胃癌),之前在网上查的症状都很相似。...
    Dely阅读 9,278评论 21 42
  • 从哪说起呢? 单纯讲多线程编程真的不知道从哪下嘴。。 不如我直接引用一个最简单的问题,以这个作为切入点好了 在ma...
    Mr_Baymax阅读 2,839评论 1 17
  • 学习多线程,转载两篇大神的帖子,留着以后回顾!第一篇:关于iOS多线程,你看我就够了 第二篇:GCD使用经验与技巧...
    John_LS阅读 639评论 0 3
  • 酒后,如我 是一缕烟 一缕麻木的,青烟 不知终停何处 唯心之所念 深情亦淡然 存心净欲 守望数载,何寄何安 我愿,...
    橘未枳阅读 332评论 3 0