【Objective-C】Objective-C汇总

方法定义

参考:https://www.yiibai.com/objective_c/objective_c_functions.html

Objective-C编程语言中方法定义的一般形式如下

c 复制代码
- (return_type) method_name:( argumentType1 )argumentName1 
    joiningArgument2:( argumentType2 )argumentName2 ... 
    joiningArgumentn:( argumentTypen )argumentNamen {
    body of the function
}

示例:

c 复制代码
/* 返回两个参数的最大值 */
- (int) max:(int) num1 secondNumber:(int) num2 {

   /* 局部变量声明 */
   int result;

   if (num1 > num2) {
      result = num1;
   } else {
      result = num2;
   }

   return result; 
}

alloc 方法

OC中经常使用 NSObject *object = [[NSObject alloc] init]; 这行代码去创建一个对象

通过对alloc底层源码的分析, 可以了解到:

① alloc的主要目的是开辟内存空间;

② 主要的核心逻辑是 计算内存大小->申请内存空间->绑定isa;

③ 计算内存大小是按照16字节对齐的。

参考:https://www.cnblogs.com/mysweetAngleBaby/p/16747295.html

相关推荐
H.莓飛2 分钟前
【C++】命名空间、缺省参数、函数重载与引用
linux·开发语言·c++·visual studio
xxwl58513 分钟前
数据结构知识点和代码实现总结(C语言实现)
c语言·开发语言·数据结构
传奇开心果编程3 小时前
【Compose Multiplatform 跨端开发学与练】第7课 平台适配与互操作
android·windows·学习·ui·ios·kotlin·composer
code2cat3 小时前
Java进阶篇之AtomicMarkableReference:引用还在,标记已经改变
java·开发语言·cas·并发编程·逻辑删除
CappuccinoRose4 小时前
FormData数据处理
开发语言·前端·javascript·表单数据
Zguigo4 小时前
【CUDA8】第一个CUDA C++ Kernel --vector add
java·开发语言·c++
-Marks-4 小时前
【C++编程】STL容器(二)--- vector底层模拟实现(常用接口实现 | 扩容机制 | 深浅拷贝 | 迭代器失效)
开发语言·c++·vector·内存管理·迭代器失效·vector底层模拟实现
Shadow(⊙o⊙)4 小时前
C++11并发支持库
开发语言·c++
一技安身4 小时前
【java】JDK8 + JDK17 绿色解压共存方案-全程不修改任何系统环境变量
java·开发语言
hudd6685 小时前
JavaEE 初阶 - 多线程(初阶)
java·开发语言·java-ee