IOS 用于坑人的面试题

在OC中下面代码会输出什么:

NSArray *temp  = @[@1,@2,@3];

    for(int i = 0; i < temp.count-4; i++) {

        NSLog(@"%d",i);

    }

在swift中下面代码会输出什么:

let temp = [1,2,3]

        for i in 0 ..< temp.count-4 {

            print(i)

        }


结果显然易见:OC会一直输出i直到一个最大值,swift不会输出。

原因是在OC中数组的count是NSUInteger类型,当NSUInteger为负数的时候,会变成最大值。swift中count是int型,所以没有问题。

下回要被抬杠,就用这个杠回去。滑稽。

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