Objective-C NSObject与运行时系统
创建: 2018/01/26
完成: 2018/02/02
遗留: TODO
| NSObject | |||||||||||||||||||||
| 运行时系统 |
程序运行时候起作用的系统? NSObject是运行时系统的接口(API) |
||||||||||||||||||||
| 属性 |
只有一个isa,决定实例与类的关系,不可以自己变更 @interface NSObject <NSObject> {
可以获取当前实例变量所属的类 |
||||||||||||||||||||
|
类与实例 |
|
||||||||||||||||||||
|
实例的生成与释放 |
|
||||||||||||||||||||
| 初始化 |
|
||||||||||||||||||||
| 对象的比较 |
|
||||||||||||||||||||
| 描述类 |
|
||||||||||||||||||||
| 信息传递机制(其他语言的函数) | |||||||||||||||||||||
| SEL类型 |
信息选择器(方法名)也是一种数据类型, SEL 无效的SEL表现为, NULL或者(SEL)0 |
||||||||||||||||||||
| 用SEL呼出信息 |
|
||||||||||||||||||||
|
信息探索途径 判断是否可以回应信息 |
收到信息后吗,先找自身,没有再往上找,到NSObject还没有就会报错
@interface S8_A : NSObject {
|
||||||||||||||||||||
| 获取函数指针 |
尽量不用 # TODO: Supply [p187] |
||||||||||||||||||||
| 对self的代入 | 改变了受体,所以除了init外不用 | ||||||||||||||||||||
|
target action 目标-动作模式 |
action method application框架(Mac OS) - (void)XXXXX:(id)sender; UIKit(iOS) - (void)XXXXX; - (void)XXXXX:(id)sender; - (void)XXXXX:(id)sender forEvent:(UIEvent *)event; |
||||||||||||||||||||
|
Xcode里事件方法和 控件的写法 |
事件:
- (IBAction) XXXXX:(id)sender; // IBAction是macro, 表示void outlet: 参照GUI的可读写声明属性叫做outlet IBOutlet NSbutton *theButton; // IBOutlet也是macro,实际为空白 |
||||||||||||||||||||
|
# TODO: Supply [p198~207] |
|||||||||||||||||||||
| Objective-C与Cocoa环境 | |||||||||||||||||||||
| 新的运行时系统 | |||||||||||||||||||||
Objective-C NSObject与运行时系统的更多相关文章
- Objective-O Runtime 运行时初体验
Objective-C语言是一门动态语言,它将很多静态语言在编译和链接时期做的事放到了运行时来处理.这种动态语言的优势在于:我们写代码时更具灵活性,如我们可以把消息转发给我们想要的对象,或者随意交换一 ...
- iOS学习之Objective-C 2.0 运行时系统编程
0 导言 本主主要内容包括: 1.概述2.参考3.运行时系统的版本和平台4.和运行时系统的交互5.消息6.动态方法解析7.消息转发8.类型编码9.属性声明 1 概述 Objective-C语言将决定尽 ...
- [Xcode 实际操作]八、网络与多线程-(18)PerformSelector消息处理方法:由运行时系统,负责去调用对象的指定方法
目录:[Swift]Xcode实际操作 本文将演示PerformSelector消息处理方法. 在项目文件夹上点击鼠标右键弹出文件菜单. [New File]->[Swift File]-> ...
- Java 内存管理、JVM 工作原理与 Java 运行时系统
Java 虚拟机规范中说明:所有的对象实例(all class instances)以及数组都要在堆上分配: the heap is the runtime data area from which ...
- oc的运行时系统
Objective-C is a class-based object system. Each object is an instance of some class; the object's i ...
- cefSharp 设置运行时系统语言
在使用用CefSharp使用过程中,系统用了很多第三方控件.这些控件很多能够根据浏览器设置的语言来进行控件展示对应语言. 在cefSharp可以设置系统语言,代码如下: CefSharp.Settin ...
- iOS开发——高级特性&Runtime运行时特性详解
Runtime运行时特性详解 本文详细整理了 Cocoa 的 Runtime 系统的知识,它使得 Objective-C 如虎添翼,具备了灵活的动态特性,使这门古老的语言焕发生机.主要内容如下: 引言 ...
- Objective-C Runtime 运行时之一:类与对象
Objective-C语言是一门动态语言,它将很多静态语言在编译和链接时期做的事放到了运行时来处理.这种动态语言的优势在于:我们写代码时更具灵活性,如我们可以把消息转发给我们想要的对象,或者随意交换一 ...
- Objective-C Runtime 运行时之三:方法与消息
基础数据类型 SEL SEL又叫选择器,是表示一个方法的selector的指针,其定义如下: typedef struct objc_selector *SEL; objc_selector结构体的详 ...
随机推荐
- Uva 12657 移动盒子(双向链表)
题意: 你有一行盒子,从左到右依次编号为1, 2, 3,…, n.可以执行以下4种指令:1 X Y表示把盒子X移动到盒子Y左边(如果X已经在Y的左边则忽略此指令).2 X Y表示把盒子X移动到盒子Y右 ...
- 九度oj 题目1047:素数判定
题目1047:素数判定 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:12466 解决:5644 题目描述: 给定一个数n,要求判断其是否为素数(0,1,负数都是非素数). 输入: 测试数 ...
- cdq分治入门--BZOJ3262: 陌上花开
n<=100000个人,每个人三个属性Ai,Bi,Ci,一个人i的等级为Ai>=Aj,Bi>=Bj,Ci>=Cj的人数,求每个等级有多少人. 裸的三维偏序.按照常规思路,一维排 ...
- JSP中操作Java Beans
以下内容引用自http://wiki.jikexueyuan.com/project/jsp/beans.html: JavaBean是在编写Java时专门创建的Java类,根据JavaBean AP ...
- Zookeeper学习 & Paxos
首先,Zookeeper是基于Paxos来进行分布式选举管理的,Paxos的内容可以参考我另一篇文章:http://www.cnblogs.com/charlesblc/p/6037004.html ...
- 传智播客ADO.Net项目开发教程具体解释
内容简单介绍: 本教程为传智播客.Net培训课堂的现场录像,请到140623ls" target="_blank">传智播客.Net学院下载很多其它免费.Net视频 ...
- 关于函数return的一些理解与小实例
先看代码: function example (){ var index=1; return {//像这种加个大括号的就是返回一个对象了,而不仅仅是一个值 index, net:function(){ ...
- has实现 更新视图但不重新加载页面原理
URL中#符号本身以及它的字符称之为hash,可以通过window.location.hash获取.hash具有如下特点: 1.has虽然出现在URL中,但不会被包括在http请求中.因此,改变has ...
- 六度分离(floyd算法,SPFA算法,最短路—Dijkstra算法)
Time Limit : 5000/1000ms (Java/Other) Memory Limit : 32768/32768K (Java/Other) Total Submission(s) ...
- NYOJ 496 [巡回赛-拓扑排序]
链接:click here 题意: 巡回赛 时间限制:1000 ms | 内存限制:65535 KB 难度:3 描写叙述 世界拳击协会(WBA)是历史最悠久的世界性拳击组织,孕育了众多的世界冠军, ...