第一讲 初始类和对象c语言的超集,允许在oc中使用c语言源代码。编译器兼容c语言程序 具备完善的面向对象特性 包含一个运行时系统 类库丰富 面向对象编程 oop 面向对象语言:c++ java c# 概念:对象、类、封装、继承、多态等 面向过程:分析解决问题的步骤,实现函数,依次调用&nbs
反射机制与动态代理一、反射机制1.反射机制原理2.反射机制的优缺点3.反射机制的作用二、代理模式三、静态代理四、动态代理JDK和Cglib动态代理实现原理JDK动态代理实现原理Cglib动态代理实现原理 一、反射机制1.反射机制原理【反射的解释】 反射机制为什么叫【反射】?一般情况下,我们使用某个类时知道这个类的具体作用,所以我们会直接
# iOS开发中使用Objective-C语言创建Widget指南
随着iOS的发展,Widget的出现为用户提供了更加便捷的信息展示方式。本文将指导刚入行的开发者如何使用Objective-C语言创建一个iOS Widget,步骤清晰明了,帮助您顺利完成这一过程。
## 整体流程
我们将通过以下几个步骤来实现一个简单的Widget:
| 步骤 | 描述 |
|------|------|
本人玩过一段时间脚本语言,会点皮毛,过年在即,想自学一下IOS。 学习模式 分析别人的项目源码: 第一天: 1 了解main函数, UIApplication是初始化程序的核心,它接受4个参数。 其中argc和argv两个参数来自于main()接受的两个参数;另外两个String型参数分别表示程序
1:动态类型(Dynamic typing),动态绑定(Dynamic binding)和动态加载(Dynamic loading)。动态类型:即运行时再决定对象的类型。简单说就是id类型。id类型即通用的对象类,任何对象都可以被id指针所指。动态绑定:动态绑定确定该对象对应的属性和响应的消息。动态加载:加载资源。 oc作为一门面向对象的语言,自然具有面向对象的语言特性:封装
协议协议可以定义方法、属性、下标的声明。协议可以被枚举、结构体、类遵守(多个协议用逗号分开)protocol Drawable {
func draw()
var x: Int {get set}
var y: Int {get}
subscript(index: Int) -> Int {get set}
}
protocol Test1 {}
proto
什么是Objective-C runtime?简单来说,Objective-C runtime是一个实现Objective-C语言的C库。对象可以用C语言中的结构体表示,而方法(methods)可以用C函数实现。事实上,他们 差不多也是这么干了,另外再加上了一些额外的特性。这些结构体和函数被runtime函数封装后,Objective-C程序员可以在程序运行时创建,检 查,修改类,对象
转载
2023-08-13 19:50:31
64阅读
现在的高级编程语言大部分都是面向对象编程的。 那么什么是面向对象呢?我用我的见解举个例子:假设你正在用word编辑这么两件事 1.一个人走到桌子前面(1)拿起可乐(2)打开盖子(3)喝光(4)放下瓶子(5)。 2.一个人走到桌子前面(1)拿起点心(2)吃了(3)。 那么如果是用面向过程的方式来编程,第一件事是一个大括号,里面写着这5步。第二件事是一个大括号,里面写着3步。写这么
转载
2024-09-24 22:46:38
47阅读
通过一段时间的学习,我对OC有了基本的了解,大概内容总结如下:Objective-C简称OC,是扩充自C语言的面向对象编程语言。 OC是C语言的超集,可使用C语言源代码,兼容C语言程序 。 借鉴:Smalltalk语言的消息语法机制 用途:苹果OS X和 iOS 操作系统及其应用的主要开发语言包含一个运行时系统,更加动态与灵活 类库丰富:Cocoa Touch,第三方
转载
2024-10-18 21:58:25
35阅读
概述Runtime 又叫运行时,是一套底层的 C 语言 API,其为 iOS 内部的核心之一,我们平时编写的 OC 代码,底层都是基于它来实现的。
调用runtimeAPI需要导入都文件#import <objc/runtime.h>常用的runtime函数// 获取一个类的Class类型(类对象)
objc_getClass(const char * _Nonnull name)
转载
2023-08-11 17:09:27
68阅读
真正从「长远角度」看,学习 Objective-C 还是 Swift 语言其实很不重要。
Swift 刚发布的时候有人说「这下所有人都回到零起点了」,实际上是外行的一个常见的误解。Objective-C / Swift 和 iOS 开发是两个不同的概念,这点希望你清楚。前者仅仅是一门编程语言,而后者则包括了编程思想、Cocoa 框架的使用,甚至交互设计规
转载
2023-09-01 15:52:13
82阅读
一、面向对象OC语言是面向对象的,C语言是面向过程的,面向对象和面向过程只是解决问题的两种思考方式,面向过程关注的是解决问题涉及的步骤,面向对象关注的是设计能够实现解决问题所需功能的类。术语:OO面向对象、OOP面向对象编程 二、类(一)关于类类的设计只关注三个东西:类名、属性和方法注意:一般名词都是类,拥有相同属性和行为的对象都可以抽象为一个类,类名是标识符的一种,需要符合规范,通常类
转载
2024-06-26 18:24:10
65阅读
一.URL 1.基本介绍 URL的全称是Uniform Resource Locator(统一资源定位符) 2.URL中常见的协议 (1)HTTP: (2)file (3)mailto (4)FTP :访问的是共享主机的文件资源,格式是ftp:// 二.HTTP协议 1.HTTP协议简介
首先请谅解我可能使用很多英文,毕竟英文资料将来会是你的主要资料来源。
这篇博客将描述一些我见到的众多Cocoa开发新手遇到的问题和障碍。在你继续深入学习MacOS编程之前,请停下脚步弄清这些问题。如果你是新手,这个教程不要希望一次能看的非常透彻,学一定阶段反回来再看看又会有新的体会的。 1. language background首先c, c++语言
首先要知道我们写的代码在程序运行过程中都会被转化成runtime的C代码执行。runtime突出的一点就是OC中消息传递机制的应用。objc_msgsend(target,SEL);首先我们先看一下runtime的定义文件OC中的一切都被设计为了对象,这些对象在Runtime中用struct(结构体)来表示。下面来看一下runtime的常用功能获取类的系列列表定义如下一个类:1、获取列表获取属性列
转载
2024-05-28 09:41:58
123阅读
在开发中经常会遇到这种情况,自己开启了个定时器,但是在某些情况下的时候,timer的方法不响应,但是timer仍然开启着;这种情况就是timer所在的Runloop暂时关闭了。一、RunLoop 与NSRunLoopCommonModes当nstimer 使用scheduledTimerWithTimeInterval方法的时候,此时的nstimer会被加入到当前的线程的RunLoop
转载
2023-10-02 11:02:43
105阅读
一、 简介IOS 开发中灵活使用runtime 会提高我们的程序性能和开发速度。要想使用runtime,首先要引入系统的头文件。<span style="font-size:18px;">#import <objc/runtime.h>
</span>当我接触一样新的知识的时候,我比较喜欢先查看一下头文件,看看头文件里给我们提供了哪些接口。由于篇幅限制,我就偷个
转载
2023-07-14 09:25:48
87阅读
Runtime 是 iOS 编程中比较难的模块,想要深入学习 OC,那 runtime 是你必须要熟练掌握的东西,下面是我对 runtime 的整理,从零开始,由浅入深,并且带了几个 runtime 实际开发的应用场景。runtime 概念Objective-C 是基于 C 的,它为 C 添加了面向对象的特性。它将很多静态语言在编译和链接时期做的事放到了 runtime 运行
转载
2023-07-23 23:12:47
100阅读
最近学习到runtime这一块知识了所以就总结一下,以备以后要用。但是由于runtime这一块的知识比较多所以今天在这里只是做一个简单的总结。一、什么是Runtime? Objective-C runtime是一个实现Objective-C语言的C库。它是一门编译型语言、也是一门动态型的语言(这里强调下OC是静态类型语言),之前没接触runtime的时候也不觉着它有多重要,接触之后才发现其实ru
转载
2023-10-25 10:33:39
64阅读
一、runtime简介RunTime简称运行时。OC就是运行时机制,也就是在运行时候的一些机制,其中最主要的是消息机制。对于C语言,函数的调用在编译的时候会决定调用哪个函数。对于OC的函数,属于动态调用过程,在编译的时候并不能决定真正调用哪个函数,只有在真正运行的时候才会根据函数的名称找到对应的函数来调用。事实证明:
在编译阶段,OC可以调用任何函数,即使这个函数并未实现,只要声明过就不会
转载
2023-07-13 15:26:14
37阅读