Objective-C那些事儿
依旧风轻
葵花成海,你在不在
展开
-
Objective-C对象的本质
Objective-C对象的本质是指向某块堆(heap)内存中数据的指针, 因为是指针, 顾在声明时, 通常会带有*: // 变量pointerVariable"指向"(point to)SQIObject类型的实例 SQIObject *pointerVariable = [SQIObject new]; 所有Objective-C对象都是如此, 若想直接把对象所需的内存分配在栈(stack)上, 编译器会直接报错: // error: interface type cannot be statical原创 2021-01-23 13:52:21 · 105 阅读 · 1 评论 -
通用对象类型 VS具体对象类型
// 通用对象类型 id genericTypedObject = [SQIObject new]; // 具体对象类型 SQIObject *specificTypeObject = [SQIObject new]; 以上两种定义, 本质是相同的, 区别在于, 若向specificTypeObject发送SQIObject类中没有定义的方法, 编译器会主动探知此情况, 并报错. ...原创 2021-01-23 00:08:28 · 137 阅读 · 0 评论 -
什么是id ?
What is id ? 表示通用对象类型, 本质上是结构体指针, 出自Objective-C运行期组件库的头文件. // id的定义 typeof struct objc_object { Class isa; } *id;原创 2021-01-22 23:46:39 · 499 阅读 · 0 评论 -
什么是`Cocoa`和`Cocoa Touch` ?
What is Cocoa and Cocoa Touch ? 什么是Cocoa和Cocoa Touch ? 官方文档: Cocoa(Touch) What Is Cocoa? 比较官方和正式的说法(或者说定义)是:OS X和iOS平台的应用开发环境,Cocoa对应OS X平台,Cocoa对应iOS平台 Application development environments 应用程序开发环境 "开发环境"该怎样理解呢 ? 我一直认为这不是一个很好的描述, 表述为: 开发的基础库更为合理, 为了能够支原创 2021-01-18 00:28:04 · 154 阅读 · 0 评论 -
Getting to know `Objective-C`
Getting to know Objective-C(初识Objective-C) The origin of Objective-C language Objective-C语言的起源 20世纪80年代,受SmallTalk的启发,Brad Cox在当时最流行的C语言基础上,增加了一些微妙但意义重大的新特性,如消息机制(message)和面向对象(Object Oriented Programming)。增加的这部分作为一个集合(C语言的扩展集),统称为Objective-C。 与大多数人的理解不同原创 2021-01-17 16:27:42 · 96 阅读 · 0 评论