写在前面
本菜鸡前端小白,实习期公司业务需求缺个iOS开发,菜鸡有点想做iOS,加上组长鼓励就开始入坑iOS开发了(嘤嘤嘤菜鸡原本只想划划水),前期学了一周swift,好用是好用,但是由于swift对个人开发者比较友好,而OC对大型项目来说比较友好,毕竟OC的社区成熟稳定,掉坑了能比较快的找到解决方案,加上需要接手的项目是OC写的,所以最终还是打算入坑OC。
虽然觉得暂时放下swift有点可惜,毕竟菜鸡swift已经开始写了几个小功能了,个人的打算是先主攻OC,swift前景是不错的,而且学好OC后上手swift也非常快,两不耽误,非常nice。可以看到大家对OC和swift的看法是OC注定会被swift淘汰,这个是没错,但是国内公司用的还是OC或者OC和swift混合开发居多;所以个人建议是如果目标是自己当个人开发者的话,去学swift吧,否则OC。曾听说OC语法非人类,学了两三天的OC,没有想象中的那么难,还是学的很愉快的~
系统的学习怎么能缺乏笔记呢,所以想写写学习历程,做个记录,也希望帮到一些人(可能得到帮助的人会很少,但主要当记笔记啦)swift暂时还不是很稳定,就不打算写学习swift的历程了,估计写出来过时会很快,容易误人子弟,swift还是写给自己看吧。那么OC开始~~
2020,加油啦~~
教程推荐
OC的教程还是蛮好找的,PDF和视频都拿出来吧(OC没啥大的改动,教程都比较老):
Objective-C基础教程(第二版)PDF:网盘提取码:90o6
哔哩哔哩Objective-C视频基础教程:B站传送门
环境
本菜鸡电脑的目前环境:
Mac系统:macOS Mojave 10.14.6
Xcode:Version 11.3
关于Xcode使用以及一些创建项目和关于OC的基础知识上述视频和PDF均有,不再赘述,主要上代码。
创建项目
1.打开Xcode,选择Create a new Xcode project.

2.选择macOS->Command Line Tool点击Next

3.依次填写Product Name项目名称,Team(可以为None),Organization Name随便取一个就好,注意Language选择Objective-C;点击Next。

4.选择一个地方存放,点击Create

5.进入项目,点击打开main.m文件,先点击右上角的打开底部栏按钮,呼出控制台,再点击左上角运行按钮,或者快捷键Command+R运行。


6.恭喜!控制台打印出了第一个项目~

趁着这个劲,我们来快速过一遍OC基础语法吧~
OC基础语法
知识点:#import;@autoreleasepool;NSLog函数;字符串;NS前缀;@符号;函数的定义和调用。
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
//自动释放池 代码可以选择写在这,前期学习可以先不管,后面的代码示例中会删除自动释放池
//控制台输出
NSLog(@"Hello world!");
}
//控制台也可以输出,可以输出变量
int year = 2020;
NSLog(@"Hello again! %d", year);
//定义一个字符串并输出,OC字符串的占位符是%@
NSString *name = @"MyEmun";
NSLog(@"%@在%d要加油", name, year);
return 0;
}
/*
OC基础语法
(OC主要和C进行比较,推荐大家视频PDF结合一起学习)
1.#import指令
1)作用:以#号开头,是一个预处理指令;是#include指令的增强版,将文件内容在预编译时拷贝至写指令的地方。
2)增强:同一个文件无论#import多少次,只会包含一次。(如果#include指令要实现这个效果,就必须要配合条件编译指令来实现)
2.@autoreleasepool是自动释放池
可以选择在里面写代码,删除掉也无所谓
3.NSLog函数
1)作用:是printf函数的增强版,用来向控制台输出信息
2)语法:NSLog(@"要输出的信息", 变量列表(可选));
3)增强:
a.输出了一些调试信息
2020-xx-xx xx:xx:xx.xxxxxx+xxxx Practice01[1358:2379187] Hello world!
执行代码的时间 程序的名称 进程编号 线程编号 输出的信息
b.会自动换行
c.可以输出OC新增数据类型
4.字符串
1)C语言字符串的存储方式:使用字符数组存储,使用字符指针
2)OC中存储字符串的类型:NSString NSString类型的指针变量,专门用来存储OC字符串的地址
3)OC的字符串常量必须使用 @ 符号作为前缀
如:@“MyEmun”
4)语法:NSString *字符串名 = @"字符串";
5)NSLog函数输出的字符串是OC类型的字符串,所以前缀也有 @ 。
5.NS前缀
NextStep工具包的缩写,详情看视频或者PDF教程。
6.@符号
1)将C字符串转换为OC字符串。
2)OC大部分关键字都是以@开头。
*/
/*
1.函数的定义和调用:与C语言中一样
完整代码:
*/
#import <Foundation/Foundation.h>
//函数需要先在main函数之前声明
void Greeting()
{
NSLog(@"第一节结束啦~");
}
int main(int argc, const char * argv[]) {
@autoreleasepool {
NSLog(@"Hello world!");
}
int year = 2020;
NSLog(@"Hello again! %d", year);
NSString *name = @"MyEmun";
NSLog(@"%@在%d要加油", name, year);
//调用函数
Greeting();
return 0;
}
快捷键Command+R在控制台查看输出结果:

希望能有帮助啦~
本文是作者作为前端新手学习iOS开发的笔记,重点介绍了从选择Objective-C的原因到创建项目的过程,以及OC的基本语法,包括#import、@autoreleasepool、NSLog、字符串和函数等。文章提供了Objective-C基础教程的PDF和视频资源,并分享了Xcode中创建Command Line Tool项目的步骤。
1063

被折叠的 条评论
为什么被折叠?



