1.super和self

self相当于c++中的this,指向当前调用方法的类。super只是一个编译器指示符

它也是指向当前调用方法的类,但是super告诉编译器要去调用父类的方法,而不是本类里的。

init方法有一个标准的模板,重写init的时候一定会用到:

-(id)init{

self = [super init];

if(self){ ........初始化代码}

return self;}

表示首先执行父类的初始化方法,并且赋给self,原因是在初始化过程对象内存位置会改变所以需要重新赋给self

2.耦合性
耦合是程序模块之间的联系。关联越大,维护成本就越高,因为你改其中一个类,就很可能要去改和它关联的其他类
内聚是程序模块内部的联系。

3.抽象类和接口的区别

答属性:抽象类可以有普通成员变量,接口不行;
然后答方法:抽象类有非抽象的方法和构造方法,并且修饰符可以是私有的,接口只能是抽象的方法,并且修饰符是public,最后说一句只能继承一个抽象类,但能实现多个接口。

4.三大特性的优点?

封装指每个对象都包含它能进行操作所需要的所有信息,因此对象不必依赖别的对象来完成自己的操作

作用是类内部实现自由修改,对外接口不变,从而降低类与外部的耦合性。


继承指在一个类基础上定义一个新类,子类拥有父类所有非private的属性和方法(复用),子类可以拥有新的方法和属性(扩展),子类可以以自己的方式实现父类的功能(修改)

优点:所有公共代码放到了父类,便于维护,共享。缺点:继承是强耦合关系,父类变则子类变,破坏封装,将父类实现细节暴露给了子类


多态:不同对象以自己的方式响应相同消息的能力。通过运行时环境来实现,包括动态类型识别和动态绑定的过程。

方法在运行时与实际调用的对象绑定。

5.#pragma mark 名称    为一个文档中的代码分块,完全是编辑器的行为,和编译器无关
resignFirstResponder交出自己的第一响应者的身份,可以重写改函数,这样如果写出no的时候当调用这个方法的时候它会拒绝交出第一响应者的身份
- (BOOL)resignFirstResponder 复写可以改变响应方式
- (BOOL)canResignFirstResponder
- (BOOL)isFirstResponder

6.view本身不可以滚动,view上加一个scrollView就能滚动了

7.写代码的时候如果改动了宏等,可能造成xcode一段时间内找不到变量而提示错误,可以通过clean来清除一下,让xcode整个工程重新编译

8.点击图片触发事件

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值