iOS工程师面试深入浅出(OC)- NSInterger 与 Int 有什么不一样?

iOS工程师面试深入浅出(Objective-C)- NSInterger 与 Int 有什么不一样?

事实上在我平常的时候就是看编译器需要什么Type,就给他什么Type。根本没有仔细去暸解 NSInterger与 Int的差异,在面试时被问到时还真的顿时不知道怎么回答。我当时的回答是 NSInterger 是 Objective-C 封装的物件 (误)。

首先:

在c语言中,int和long的字节数是和操作系统指针所佔的数值类型;

但c语言中说,long的长度永远大于或等于int;

Objective-c里,苹果的官方文档中总是推荐用NSInteger;

区别:

原来在苹果的api实现中,NSInteger是一个封装,它会识别当前操作系统的数值,自动返回最大的类型。

总结:

NSInteger与int的区别是NSInteger会根据系统的数值(32或64)自动选择int的最大数值(int或long)还有就是他和NSString一样都可以是物件。


关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章