美文网首页
和Tom一起学习Objective-C 第一期

和Tom一起学习Objective-C 第一期

作者: Tom就是my | 来源:发表于2018-02-20 23:50 被阅读0次

前言

这是一份学习OC的记录,同时也是方便监视自己学习OC。

本次学习基于《Objective-C程序设计 第六版》,这份记录里的内容可能和书里差不多,所以不要指望有什么高深的东西。

内容

Objective-C简介

我也就不多BB了,就这么介绍吧:Objective-C是一门面向对象的编程语言,由C语言改进而来,是iOS和Mac OS开发必须使用的语言。

基本操作

这个就不讲了,看书就好,毕竟不是面向纯小白的教程。总而言之,本教程的编程均在Xcode的环境下输入代码。(假设你懂的)

第一个代码

和学习C一样,学习OC的第一个代码自然也是Hello World了。

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        // insert code here...
        NSLog(@"Hello, World!");
    }
    return 0;
}

我们来分析下这串代码并对比一下和C有和不同。
首先是#import<Foundation/Foundation.h>
学过C的肯定就认为这和#include<stdio.h>相似。
那么问题来了,既然是OC是根据C改进的,那么#import#include有什么区别?
答案是:#import#include的升级版,#import避免了重复引用的问题。
还要说的一点是<Foudation/Foundation.h>,这是一个系统文件,后面要学习的Foudation构架就是讲的这个文件。

接着就是int main(int argc, const char *argv[])
这里和C的main函数就差不多了,对于这个函数,记住以下几点:

  • int代表函数返回值的类型
  • main函数有且只有一个

然后就是@autoreleasepool
字面意思就是自动释放池,其机制就是:使得应用在创建新对象时,系统能够有效地管理应用所使用的内存。
这个我也不敢说太多,详情必须要学到后面才知道。我就根据我的经验来解释一下这句话:在开发过程中,有些对象的创建会占用大量的内存,有了这个autoreleasepool之后,一般情况下,是能比较安全地在对象使用后会释放掉内存。与之相对的,还有手动管理内存。
实际上,你不输入这个东西,这个代码也能运行。

还有就是NSLog(@"Hello world")
此处的NSLog()就和C中的printf()类似了,不过通过字面的意思,可以发现NSLog除了有打印功能以外,还有显示日志的功能,比如显示时间。

最后就是return 0
既然函数的返回值是int,我们就要在函数运行的后面返回一个int值以结束函数了。


本期就到此结束了,之后还有第一期的书后练习补充。

相关文章

  • 和Tom一起学习Objective-C 第一期

    前言 这是一份学习OC的记录,同时也是方便监视自己学习OC。 本次学习基于《Objective-C程序设计 第六版...

  • (GeekBand)Objective-C第一周

    Objective-C简介 Objective-C 语言在1983年由Brad Cox 和Tom Love发明,同...

  • 和Tom一起学习Objective-C 第三期

    分数类 第一个Objective-C程序 这一期,我们就来正式的打出第一个具有Objective-C味道的程序。没...

  • 和Tom一起学习Objective-C 第二期 类和对象

    这一期只要理解类、对象、实例和方法 这四个概念即可。 到底什么是对象 这一章一开头就提出了一个很流弊的问题:到底什...

  • 迷你世界之怪物学校(五)

    挖矿小队Avs挖矿小队B “今天,咱们要来学习砍树和挖矿。”Tom老师拿出链锯和钻头。 学习完,Tom老师说道:“...

  • 爱情的夏天不太长

    在过完对于tom来说很甜蜜的500天之后,summer离开了 离开的原因很简单,summer感觉和tom在一起不再...

  • 1 更轻量的 View Controllers

    介绍 objc.io objc.io 是关于 Objective-C 最佳实践和先进技术的期刊,欢迎来到第一期! ...

  • Tom和Jerry

    那天我遇到了Tom和Jerry。 此鼠非彼鼠,我说的这个Jerry不是老鼠,而是一只灰色的大尾巴小松鼠,它从高大的...

  • CMU 机器学习课程笔记

    Tom Mitchell 教授是机器学习的奠基人之一,这学期上了 Tom 教授的机器学习课程,在简书上分享课程笔记...

  • TOM邮箱新域名上线

    12月18日消息,TOM邮箱即将推出tom18.cn和tom18.net全新邮箱域名。 据TOM邮箱负责人透露,T...

网友评论

      本文标题:和Tom一起学习Objective-C 第一期

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