iOS和macOS应用开发语言Objective-C
iOS和macOS应用开发语言Objective-C

iOS和macOS应用开发语言Objective-C

Objective-C(简称 ObjC)是一种面向对象的编程语言,是苹果公司早期主推的 iOS 和 macOS 应用开发语言,在 Swift 出现之前,几乎所有的苹果系统 App 都是用它写的。

Objective-C 是 C 语言的超集,增加了面向对象的特性(如类、继承、消息传递等),并广泛用于 iOS/macOS 开发。

Objective-C特点

1、C 语言超集:Objective-C 是在 C 语言基础上添加面向对象特性,所以所有 C 代码都能直接在 Objective-C 中用。

2、消息机制方法调用不是传统的函数调用,而是发送消息(类似 Smalltalk)。比如 [object doSomething]。

3、动态特性:运行时强大,允许动态添加方法、交换方法实现(Method Swizzling)等。

4、早期 iOS 语言:UIKit、Foundation、Core Data 等大部分框架都是以 Objective-C 编写的。

5、与 Swift 可互操作:Swift 可以无缝调用 Objective-C 代码,便于旧项目升级。

与Swift语法对比

1、定义类:

@interface MyClass : NSObject   // Objective-C
class MyClass {}    // Swift

2、创建对象

MyClass *obj = [[MyClass alloc] init];  // Objective-C
let obj = MyClass() // Swift

3、方法调用

[obj doSomething];  // Objective-C
obj.doSomething()   // Swift

4、字符串

NSString *str = @"Hello";   // Objective-C
let str = "Hello"   // Swift

5、条件判断

if (x > 0) { ... }  // Objective-C
if x > 0 { ... }    // Swift

Objective-C代码示例

Objective-C写一个简单按钮。

#import <UIKit/UIKit.h>

@interface ViewController : UIViewController
@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];

    UIButton *button = [UIButton buttonWithType:UIButtonTypeSystem];
    [button setTitle:@"点我一下" forState:UIControlStateNormal];
    button.frame = CGRectMake(100, 100, 100, 40);
    [button addTarget:self action:@selector(buttonClicked) forControlEvents:UIControlEventTouchUpInside];

    [self.view addSubview:button];
}

- (void)buttonClicked {
    NSLog(@"按钮被点击了");
}

@end

Objective-C 常用场景

维护老项目(很多企业项目仍用 ObjC)。

使用一些只提供 ObjC 接口的第三方库。

学习苹果底层机制(Runtime、KVC/KVO)。

相关文章

iOS开发框架UIKit:https://fangjunyu.com/2025/05/22/ios%e5%bc%80%e5%8f%91%e6%a1%86%e6%9e%b6uikit/

   

如果您认为这篇文章给您带来了帮助,您可以在此通过支付宝或者微信打赏网站开发者。

欢迎加入我们的 微信交流群QQ交流群,交流更多精彩内容!
微信交流群二维码 QQ交流群二维码

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注