ios 开发语言Objective-C 小白入门科普

🤔 开篇:你手机上的 App 是怎么做出来的?

当你打开 iPhone 上的微信、抖音、淘宝…你有没有想过,这些 App 是用什么"语言"写出来的?

答案就是:Objective-C(简称 OC)或 Swift

今天我们聊聊 iOS 开发的"老前辈"—— Objective-C


📱 什么是 Objective-C?

用人话说:

Objective-C 就是一种编程语言,专门用来开发苹果设备(iPhone、iPad、Mac)上的应用程序。

类比理解:

  • 盖房子需要工具 → 编程需要语言
  • 中文、英文是人类交流的语言 → Objective-C 是人和计算机交流的语言
  • 就像厨师用刀切菜 → 程序员用 Objective-C 写 App

🍎 Objective-C 的"身世"

时间线故事:

1980年代
📅 Objective-C 诞生
   └─ 目标:给 C 语言加上"面向对象"能力

1988年
🖥️ 乔布斯的 NeXT 公司采用 OC
   └─ 用来开发 NeXT 电脑的操作系统

1996年
🍎 苹果收购 NeXT
   └─ OC 成为 Mac 电脑的开发语言

2007年
📱 iPhone 横空出世!
   └─ OC 成为唯一的 iOS 开发语言

2008-2014年
🌟 黄金时代
   └─ App Store 所有应用都用 OC 开发
   └─ 微信、QQ、淘宝的第一版都是 OC

2014年
🆕 Swift 语言发布
   └─ 苹果推出的新语言,更现代、更简洁

2025年(现在)
⚖️ 并存时代
   ├─ 新项目:多用 Swift
   └─ 老项目:大量 OC 代码仍在维护

🎯 为什么要学 Objective-C?

“Swift 不是更新吗?为什么还要学 OC?”

三个理由:

1️⃣ 历史遗产太多

现实情况:
- 微信、QQ、淘宝等大厂 App = 几百万行 OC 代码
- 不可能一夜之间全改成 Swift
- 新功能可能用 Swift,但老代码还是 OC

结论:
→ 想进大厂做 iOS?必须会读 OC 代码
→ 想维护老项目?必须会 OC

2️⃣ 很多框架文档是 OC 的

苹果官方文档:
- 很多示例代码还是 OC
- 第三方开源库:大量 OC 实现

举例:
- AFNetworking(网络请求库)→ OC
- SDWebImage(图片加载库)→ OC
- 很多教程和 StackOverflow 答案 → OC

3️⃣ 理解底层原理

OC 更接近系统底层:
- 理解内存管理(引用计数)
- 理解消息传递机制
- 理解 Runtime(运行时)

就像:
- 学自动挡之前,最好懂手动挡原理
- 学 Swift 之前,懂 OC 会更扎实

💻 Objective-C 长什么样?

先看一个最简单的例子:

需求: 在屏幕上显示"Hello, World!"

Objective-C 代码:
#import <UIKit/UIKit.h>

@interface ViewController : UIViewController
@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    
    // 创建一个标签
    UILabel *label = [[UILabel alloc] init];
    label.text = @"Hello, World!";
    label.frame = CGRectMake(100, 100, 200, 50);
    
    // 添加到屏幕
    [self.view addSubview:label];
}

@end

🆚 Objective-C vs Swift

同样的功能,两种语言对比:

任务:创建一个标签并设置文字

Objective-C:

UILabel *label = [[UILabel alloc] init];
label.text = @"Hello";
[self.view addSubview:label];

Swift:

let label = UILabel()
label.text = "Hello"
self.view.addSubview(label)

对比表:

特性Objective-CSwift
诞生年份1980s2014
语法啰嗦(中括号调用)简洁(点语法)
类型安全弱类型强类型
学习曲线较陡(概念多)较平缓
性能快更快
现状维护为主新项目首选
就业大厂必备技能新公司更多

💼 职业前景

2025年 iOS 开发市场现状:

🎯 技能要求:
├─ 必须会:Swift(新项目)
├─ 必须会:Objective-C(维护老代码)
├─ 加分项:SwiftUI(最新界面框架)
└─ 加分项:跨平台(Flutter/React Native)

📈 市场需求:
- 新项目:Swift 为主
- 大厂:OC + Swift 混编
- 外包公司:仍有大量 OC 项目
Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐