IOS 面试
2024-10-17 23:16:06
1. #import , #include的区别
@import防止类的重复引用,#import 确定一个文件只能被导入一次,这使在递归包含中不会出现问题。
@class一般用于头文件中需要声明该类的某个实例变量的时候用到,在m文件中还是需要使用#import
@class就是告诉编译器有这么一个类,至于类的定义是啥不知道。
2.#import<> 跟 #import “” 有什么区别
“”的意思是自己创建的文件,用这个首先会在当前的目录中寻找,如果找不到就到其他的位置寻找,“”和<>是相对的一个是自己创建的文件一个是系统的文件。
3.OC中instanceType和id的区别
相同点:instanceType和id都是作为方法的返回类型而被使用。
不同点:
1.instancetype可以返回和方法所在类相同类型的对象,id返回的类型只能是未知类型的对象;
对于简易构造函数,用instancetype更好一点,因为编译器因此会知道返回的是什么类型的方法对象,而用id则不会,它只会返回未知类型的对象;
2.instancetype在错误检查机制上更优于id,由于instancetype能够在无关联返回类型中返回对象的类型,因此更利于开发者检测 到无关联返回类型中的错误。而id返回的是未知类型,在无关联返回类型中检错时没有instancetype更易于检测错误。
最新文章
- Git学习笔记
- iOS-LaunchImage启动页
- Virtualbox虚机无法启动因断电
- c3p0数据库连接池死锁问题
- 计时函数 clock() in c and c++
- linux下(修改|忘记)mysql密码
- Office导入导出组件权限配置汇总
- 【Python】类和对象、继承、使用文件、存储、异常、标准库(不懂)
- mysql DBI 事务控制
- ExtJs4 笔记(13) Ext.menu.Menu 菜单、Ext.draw.Component 绘图、Ext.resizer.Resizer 大小变更
- 在GNU/Linux下使用Lilypond排版简谱
- loading.io一个loading图标网站,跟大家分享
- C++编程练习(8)----“二叉树的建立以及二叉树的三种遍历方式“(前序遍历、中序遍历、后续遍历)
- Dynamics 365权限变化大部署后需要注意什么?
- 关于“load”方法
- webpack代理解决跨域问题
- 500 : Internal Server Error(jupyter)
- 微软Power BI 每月功能更新系列——11月Power BI 新功能学习
- lambda表达式和表达式树(深入理解c#)
- 【转】【Centos】安装 lnmpa 集成开发环境
热门文章
- Spring小练习之宝宝淘项目
- MahApps.Metro怎么调用消息窗口
- ruby on rails gem install pg时无法安装
- 装了个干净的win7
- 矩形覆盖-我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?
- C语言 const常量讲解
- C# lambda表达式及初始化器
- ajax中加上AntiForgeryToken防止CSRF攻击
- ubuntu16.04下安装jdk和android studio
- FlipView For Xamarin.Form 之 IOS