最近开始学习ios编程,因为以前学习过c/c++等编程语言,所以初略过了一遍object c的语法基础。之后开始学习ios的控件,这里主要整理一下关于ios控件的api,加深自己的印象。学习书籍是ios编程第四版。首先是视图与视图层次结构,如下图。第一次使用的starUML建模软件,因为没接触过这个东西,故可能画法有错误,不过主要也就是表达一下视图层次结构的概念。UIWindow作为iOS程序的窗
转载 2024-06-08 23:36:17
68阅读
1. Class 和 Object 的定义 /// An opaque type that represents an Objective-C class. typedefstructobjc_class *Class; /// Represents an instance of a class. structobjc_objec
转载 2023-06-01 17:47:31
78阅读
1.在iOS中,结构是什么样的呢?main.m中首先有这样一段代码(objc源码中):我们cd到当前路径后输入命令行:clang -rewrite-objc main.m -o main.cpp获得c++文件,打开文件,我们拉到最下面的代码,就是oc经过编译后的代码:在上图中,pClass使用Class类型接收,说明pClass是Class类型的!我们找到Class的定义:typedef st
结构体对比Swift 中结构体有很多共同点。共同处在于:定义属性用于存储值定义方法用于提供功能定义下标操作使得可以通过下标语法来访问实例所包含的值定义构造器用于生成初始化值通过扩展以增加默认实现的功能实现协议已提供某种标准功能与结构体对比还有如下的附加功能:可以继承允许在运行时检查和解释一个实例 的类型的析构器允许个实例释放任何其所分配的资源引用计数允许对一个的多次
一、Object(objc实例对象),Class(),Metaclass(元),Rootclass(根),Rootclass‘s metaclass(根元)要理解iOS中的isa指针,我们就离不开Objective-C中的几种数据结构;在Objective-C的类型结构中,Object(实例),Class(),Metaclass(元),Rootclass(根),Rootclass‘
转载 2023-08-27 23:15:50
155阅读
前两天,公司一个新来的实习生问我一个问题,什么是,这个问题看似很好笑,但是要答全也确实不那么简单!!!回去翻看资料,查看以往的笔记,那么就说说我自己对的本质看法!在OOP的设计的模式下,我们说万物皆对象,OC是一种面向对象的弱语法,但其实也是所有用到的东西也都是对象,包括成员变量!那么问题来了,对象从哪里来,这就要说到的本质:的本质其实也是一个对象,叫对象。那么我们就来看看和对象到
转载 2023-08-21 14:06:00
46阅读
结构体对比Swift 中结构体有很多共同点。共同处在于:定义属性用于存储值定义方法用于提供功能定义下标操作使得可以通过下标语法来访问实例所包含的值定义构造器用于生成初始化值通过扩展以增加默认实现的功能实现协议以提供某种标准功能与结构体相比,还有如下的附加功能:继承允许一个继承另一个的特征类型转换允许在运行时检查和解释一个实例的类型析构器允许一个实例释放任何其所被分配的资源引用计数
转载 2023-08-21 11:18:27
43阅读
目录版本结构体和对比类型定义 & 创建实例结构体是值类型是引用类型恒等运算符指针 版本Xcode 11.3.1 Swift 5.1.3Swift 中结构体和的功能很相近,本文中所讨论的大部分功能都可以用在结构体或者上,因此将两者放在同一篇章里。结构体和对比Swift 中结构体和有很多共同点。两者都可以:定义属性用于存储值定义方法用于提供功能定义下标操作用于通过下标语法访问它们
转载 2023-08-21 09:34:03
67阅读
实例对象(id)实例对象是我们对对象alloc或者new操作时所创建的,在这个过程中会拷贝实例所属的成员变量,但并不拷贝类定义的方法。/// Represents an instance of a class. struct objc_object { Class _Nonnull isa OBJC_ISA_AVAILABILITY; }; /// A pointer to an
转载 2023-09-01 18:11:04
43阅读
##区别:1.结构体只能封装属性,却不仅可以封装属性也可以封装方法,如果及需要封装属性有需要封装方法的话,就只能是了。 2.结构体变量属于值类型,分配在栈上,而OC对象分配在堆,栈的控件相对于对来说是比较小的,但是存储在栈上的数据访问效率比堆上的数据快很多。 3.如果定义一个结构体,这个结构体有很多的属性,那么这个是有就要选择使用来处理,在栈中占用太多的空间会降低效率; 3.结构体赋值是值
转载 2023-05-26 15:23:42
70阅读
我们都知道,内存分配可以分为堆区(Heap)和栈区(Stack)。由于栈区内存是连续的,内存的分配和销毁是通过入栈和出栈操作进行的,速度要高于堆区。堆区存储高级数据类型,在数据初始化时,查找没有使用的内存,销毁时再从内存中清除,所以堆区的数据存储不一定是连续的。
转载 2023-07-14 10:38:32
392阅读
一、结构OC 中的代码在底层实现,使用的是 C、C++,所以要研究 OC 中的结构,可以将 OC 的代码转成 C++的代码即可。首先看一下 NSObject 的结构是什么样子的,创建一个文件并简单的编写如下代码:// CustomFile.m #import void test() { [NSObject alloc]; }进入终端,输入指令:clang -rewrite-objc Cus
声明方法的开头为正号(+)的通知编译器表示为方法class method,方法属于对象而不是的实例对象,通常用于创建新的实例。我们称这种用来创建新对象的方法为工厂方法 factory method。如果某个方法所实现的是很通用的功能,比如创建一个实例对象或访问一些全局数据,最好声明为方法。stringWithFormat:是一个方法。例如:  NSString *str
转载 2023-07-11 11:22:08
52阅读
一、简介结构体1、(Class)(Class)是面向对象程序设计实现信息封装的基础。是一种用户定义类型,也称类型。每个包含数据说明和一组操作数据或传递消息的函数。的实例称为对象。是面向对象程序设计中的概念,是面向对象编程的基础。的实质是一种数据类型,类似于int、char等基本类型,不同的是它是一种复杂的数据类型。因为它的本质是类型,而不是数据,所以不存在于内存中,不能被直接操
# 如何实现iOS结构体和 ## 1. 流程图 ```mermaid flowchart TD A(了解结构体和的概念) B(创建结构体和) C(使用结构体和) A --> B --> C ``` ## 2. 关系图 ```mermaid erDiagram STRUCT { int id string nam
原创 2024-03-28 07:34:30
17阅读
结构结构体的作用具有相同类型的数据的集合 结构体: 存储不同类型的数据项单一的数据类型无法满足特定的需求,数据类型的集合体:结构体 出现了结构体的定义和使用结构体的定义方式结构体是一种 自定义数据类型 struct用来定义一个类型 结构体的定义方式:struct 结构体名字 { //成员变量 }; 定义结构体后再定义变量//例1: struct
1.准备工作我们要研究,所以首先肯定要需要定义几个,这里我们就定义两个,并且他们之间最好有继承关系,方便后续探索。继承自NSObject的YSHPerson 继承自YSHPerson的YSHStudent 在main.m文件中定义两个对象 2.元什么是元?以作为其实例的。元的定义和创建都是由编译器完成的。对象的isa指向,而其实也是一个对
//联系人:石虎  : 1224614774昵称:嗡嘛呢叭咪哄 objc_class结构体一、在OC中是objc_class的结构体指针   typedef struct objc_class *Class;在objc/runtime.h中objc_class结构体的定义如下:struct objc_class { ; #if !__OBJC2
目录一、结构性设计模式简介二、代理模式 2.1 代理模式介绍2.2 静态代理2.3 JDK代理2.4 CGLIB代理2.5 三种代理的对比2.5.1 JDK代理和CGLIB代理2.5.2 动态代理和静态代理三、适配器模式 3.1 适配器模式介绍3.2 适配器模式3.3 对象适配器模式3.4 接口适配器模式四、装饰者模式 4.1 装饰者模式介绍4.2 静态代理和装饰者的区别五、桥接模式 5.1 桥
  1,定义和使用非常相似,例子如下: public struct Student { string Name; int Age; } public class Question { int Number; string Content; } 使用: Student s=new Studen
  • 1
  • 2
  • 3
  • 4
  • 5