前两天,公司一个新来实习生问我一个问题,什么是,这个问题看似很好笑,但是要答全也确实不那么简单!!!回去翻看资料,查看以往笔记,那么就说说我自己对本质看法!在OOP设计模式下,我们说万物皆对象,OC是一种面向对象弱语法,但其实也是所有用到东西也都是对象,包括成员变量!那么问题来了,对象从哪里来,这就要说到本质:本质其实也是一个对象,叫对象。那么我们就来看看和对象到
转载 2023-08-21 14:06:00
46阅读
最近开始学习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
我们都知道,内存分配可以分为堆区(Heap)和栈区(Stack)。由于栈区内存是连续,内存分配和销毁是通过入栈和出栈操作进行,速度要高于堆区。堆区存储高级数据类型,在数据初始化时,查找没有使用内存,销毁时再从内存中清除,所以堆区数据存储不一定是连续
转载 2023-07-14 10:38:32
392阅读
//联系人:石虎  : 1224614774昵称:嗡嘛呢叭咪哄 objc_class结构体一、在OC中是objc_class结构体指针   typedef struct objc_class *Class;在objc/runtime.h中objc_class结构定义如下:struct objc_class { ; #if !__OBJC2
结构结构作用具有相同类型数据集合 结构体: 存储不同类型数据项单一数据类型无法满足特定需求,数据类型集合体:结构体 出现了结构定义和使用结构定义方式结构体是一种 自定义数据类型 struct用来定义一个类型 结构定义方式:struct 结构体名字 { //成员变量 }; 定义结构体后再定义变量//例1: struct
一、初识结构体首先,我们来看一下定义:class Person { var age: Int var name: String init(age: Int, name: String) { self.age = age self.name = name } }以及结构定义:struct Person { var
转载 2023-08-17 13:00:20
135阅读
一、Object(objc实例对象),Class(),Metaclass(元),Rootclass(根),Rootclass‘s metaclass(根元)要理解iOSisa指针,我们就离不开Objective-C中几种数据结构;在Objective-C类型结构中,Object(实例),Class(),Metaclass(元),Rootclass(根),Rootclass‘
转载 2023-08-27 23:15:50
155阅读
结构体对比Swift 中结构体有很多共同点。共同处在于:定义属性用于存储值定义方法用于提供功能定义下标操作使得可以通过下标语法来访问实例所包含值定义构造器用于生成初始化值通过扩展以增加默认实现功能实现协议已提供某种标准功能与结构体对比还有如下附加功能:可以继承允许在运行时检查和解释一个实例 类型析构器允许个实例释放任何其所分配资源引用计数允许对一个多次
1.Runtime是什么Objective-C语言是一门动态语言,它将很多静态语言在编译和链接时期做事放到了运行时来处理。这种动态语言优势在于:我们写代码时能够更具灵活性,如我们可以把消息转发给我们想要对象,或者随意交换一个方法实现等。 Objective-C(下面简称OC)是对C语言封装,Runtime是OC在封装C时一个产物。Runtime简单说就是一套C语言API,OC
一、结构体       是现实生活中物体抽象,它可以将一个物体属性、动作等封装在一个里面。可以将这个类型继承给它子类,可以拥有多个子类,但是只能有一个父。      结构功能和相似,但是有一个本质区别那就是是引用类型,结
结构体是人们构建代码所用一种通用且灵活构造体。为了在结构体中实现各种功能,我们必须要严格按照对于常量,变量以及函数所规定语法规则来定义属性和添加方法。一个实例,被成为对象。Swift 中结构体有很多共同点。1:结构体对比 共同处: 定义属性用于储存值、定义方法用于提供功能、定义下标用于通过下标语法访问值、定义初始化器用于生成初始化值、通过扩展以增加默认实现功能、符合协
转载 2023-08-25 09:32:45
52阅读
通常熟知定义1、关于设计只关注三个东西:名、属性和方法拥有相同属性和行为对象都可以抽象为一个名是标识符一种,需要符合规范,通常第一个字母大写,且不能有下划线,如果有多个单词使用驼峰原则。在对方法进行划分中,一般采取做法是谁最熟悉这个方法那么就把这个方法划分给谁。在OC中,对象对方法调用称为消息机制,即向既定对象发送了什么消息。2、简单内存分析创建对象,每个对象
目录1. 前言2. 结构3. 属性方法等存储4. 总结 1. 前言说起,其实大家并不陌生,一个项目中,我们会创建很多,在里面也会定义很多成员变量、属性、方法等等,大家用可以说是轻车熟路了。 不过我想大部分人在在底层实现并不是很了解,在底层长什么样,我们定义成员变量、属性,他们在底层储存在哪里呢?还有我们方法、协议等等。 由于很多朋友已经写了大量博客探索了这部分内容,本
swift结构体高度相似,无论是定义语法还是用法上,swift结构体都具有高度相似性区别是:结构体不支持继承(自然也不支持类型转换了。。。。。这个,还不太理解)结构体不支持定义析构器结构体是值类型,而是引用类型 苹果官方文档中说结构使用场景不多,主要还是应该使用那么哪些场景需要用到结构体呢:苹果官方文档表示,当满足以下一个或多个条件时,应该使用结构体*结构
转载 2023-07-14 14:47:17
0阅读
结构体对比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阅读
(PS:我看这本书《Visual C++从初学到精通》说结构体也可以继承和被继承,也可以有虚函数)区别:结构是一种用关键字struct声明自定义数据类型。与相似,也可以包含构造函数,常数,字段,方法,属性,索引器,运算符和嵌套类型等,不过,结构是值类型。1.结构构造函数和构造函数不同。   a.结构不能包含显式无参数构造函数。结构成员将自动初始化为它们默认值。&
  • 1
  • 2
  • 3
  • 4
  • 5