美文网首页iOS开发笔记本
【iOS】面试小结_20171030

【iOS】面试小结_20171030

作者: zhangPeng丶 | 来源:发表于2017-11-09 00:01 被阅读28次

简书http://www.jianshu.com/u/5690b3ad0a6f
Bloghttp://blog.zhangpeng.site
GitHubhttps://github.com/fullstack-zhangpeng

下面代码打印true还是false?

    id arr = [[NSArray alloc] init];
    if ([[arr class] isKindOfClass:[NSArray class]]) {
        NSLog(@"true");
    } else {
        NSLog(@"false");
    }
答案:打印false
1.jpeg
代码在请见Demo中的Demo2
分析:类簇的原因
参考文章:
  1. Sunny大神写的《从NSArray看类簇》
  2. 《Objective-C类族和工厂模式》

下面代码打印什么内容?

    NSMutableSet *mSet = [[NSMutableSet alloc] init];
    [mSet addObject:@[@1, @2]];
    NSLog(@"1---%@", mSet);
    
    NSMutableArray *mArr = [[NSMutableArray alloc] initWithObjects:@1, nil];
    [mSet addObject:mArr];
    NSLog(@"2---%@", mSet);
    
    [mArr addObject:@2];
    NSLog(@"3---%@", mSet);
    
    [mSet addObject:@[@1, @2]];
    NSLog(@"4---%@", mSet);
答案:
2.png
分析:
  • 集合(NSMutableSet)和数组(NSMutableArray)有相似之处,都是存储不同的对象的地址;不过NSMutableArray是有序的集合,NSMutableSet是无序的集合。
  • 集合是一种哈希表,运用散列算法,查找集合中的元素比数组速度更快,但是它没有顺序。当插入相同的数据时,不会有任何效果。

第一次输出时,创建了一个包含@[@1, @2]的NSMutableSet

第二次输出时,向已经创建的mSet中添加一个可变数组

第三次输出时,向前面创建的mArr中添加一个@2,可以成功的将@[@1, @2]这个mArr添加到mSet中,应该是因为 @[@1, @2] 是__NSArrayI,mArr 是__NSArrayM,不能成功的判断相等

第四次输出时,由于集合内已经存在相同的@[@1, @2],而mSet中的元素是不能重复的,所以没有成功添加

代码在请见Demo中的Demo3

相关文章

  • 【iOS】面试小结_20171030

    title: 【iOS】面试小结_20171030date: 2017-11-09 00:01tags: iOSb...

  • iOS面试题之二

    这篇文章用来尝试回答落影大佬的面试题,原文:iOS面试小结[https://juejin.cn/post/6954...

  • iOS面试小结

    1. @property (copy) NSMutableArray *array; 这样写有什么问题吗? 因为用...

  • iOS面试小结

    前言 面试是职场中必经的一个步骤,在短短的几十分钟内去考察一个人的各项能力与综合素质,判断候选人与团队和团队匹配程...

  • iOS实录16:GCD使用小结(二)

    iOS实录16:GCD使用小结(二) iOS实录16:GCD使用小结(二)

  • iOS精华面试题分享

    作为iOS小白,总免不了各种面试,特将自己近期的几道面试题小结一下。同时也将无意闲逛时发现一位超级全面的面试总结分...

  • iOS面试小结(一)

    结束上海将近4年的iOS开发,今年回到了我们美丽的不像样的!我的家乡----大连!准备为家乡的互联网行业带来一丝新...

  • iOS面试题小结

    通过自己的工作经验和面试经历小结了一份iOS面试题 分享出来 欢迎指正和补充! 如果你懒得看文字, 可以直接浏览前...

  • 阿里腾讯头条美团等iOS面试总结

    阿里iOS面试总结 头条iOS面试总结 腾讯iOS面试总结 百度iOS面试总结 美团iOS面试总结

  • iOS TabBar在页面跳转时的隐藏与显示

    iOS 隐藏tabBar小结

网友评论

    本文标题:【iOS】面试小结_20171030

    本文链接:https://www.haomeiwen.com/subject/lhbumxtx.html