iOS新手入门 iOS开发知识整理合集

730 阅读3分钟

iOS新手入门 iOS开发知识整理合集

结合其他资料学习最佳,该知识库只是辅助,可做‘课外阅读’使用

截止2019年现有的iOS开发资料已经超过16,800,000个,这里整理的主要【不是如何写代码,而是iOS开发需要的一些理论知识和扩展。】根据作者经验,我把他们按照小学、中学、大学来分阶段整理。这样做的好处是可以让不同阶段的程序员更好地进步,希望这里的知识对你写代码有一定帮助。也可以有目的性的了解自己下一阶段需要掌握的知识。

划分年级的想法是我仿照自己人生轨迹,普通人都经历的过程,这个过程会让我们更加身临其境。有小学再开始一次的想法也可以增加我们学习的乐趣。对于iOS新手根据年级从小学一年级逐步学习,在学习其他iOS资料的同时补充一些知识可以更快理解‘这样写’背后的含义,也不至于发现需要学习的太多而无从下手。如果能全部掌握小学到大学的知识,那么常规的iOS问题对你已不再话下了。

开发语言Objective-C和Swift

由于作者对Objective-C运用更多更为熟练,所以涉及到代码例子部分还是以OC为主,但也会尽可能附上Swift版的链接。 对于本文的例子和部分常用代码已封装到bench_ios这个库中,所有【我的应用】标签下的代码均在这个库中,也可通过CocoaPods快速安装。

关于内容的严谨性

这里的年级的划分主要依据作者自身iOS开发成长的道路来划分。作者本身接触iOS开发已有5年+,从iOS4时代开始投入学习,起源是被一个ipod touch上的划水果app吸引。消耗业余时间整理了这些知识点,限于作者能力,有些知识点的年级划分或者整理可能有所偏差和不准确,但每一篇都是经过认真审核和查阅大量资料整理,也希望有大神帮忙指点完善。

开始

我们把这个合集看成一个游戏,从小学到大学读完就通关了。下面一个小测验可快速定位新来的你在哪一个层级。如果您都能自信地回答,请点击左上角关闭按钮离开😂,答案在各年级的文章中~

1、以下代码输出什么?

-(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{

    Person *person = [[Person alloc] init];
    person.age = 10;

    __weak Person *weakPerson = person;
    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(4.0 * NSEC_PER_SEC)),
                   dispatch_get_main_queue(), ^{

        dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(3.0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
            NSLog(@"2-----age:%p",person);
        });
        NSLog(@"1-----age:%p",weakPerson);
    });

    NSLog(@"touchesBegan");
}

2、下面的代码输出什么?

@implementation Son : Father
- (id)init
{
    self = [super init];
    if (self) {
        NSLog(@"%@", NSStringFromClass([self class]));
        NSLog(@"%@", NSStringFromClass([super class]));
    }
    return self;
}
@end

3、#import跟 #include 有什么区别,@class呢,#import<> 跟 #import””有什么区别?

4、RSA的两个常用用途?

5、堆排序的排序过程?

6、以下代码的时间复杂度各多少?
A

for (i=1; i<=n; i++)  
       x++;  
for (i=1; i<=n; i++)  
    &emsp;for (j=1; j<=n; j++)  
          x++;  

B

x=1;
for(i=1;i<=n;i++)
       for(j=1;j<=i;j++)
          for(k=1;k<=j;k++)
              x++; &emsp;

小学知识点合集+如何开始iOS开发

初中知识点合集

高中知识点合集

大学知识点合集