`
tonynju
  • 浏览: 75462 次
  • 性别: Icon_minigender_1
  • 来自: 浙江嘉善
社区版块
存档分类
最新评论

objective c的runtime特性

阅读更多

 

使用objective c的runtime特性动态增加字段。

在category中特别有用,可以实现在不增加变量的情况下达到成员变量类似的效果。

示例:

- (BOOL)isRobot {

 

  NSNumber *boolNum = objc_getAssociatedObject(self, kPlayerIsRobotKey);

  if (boolNum == nil) {

    return NO;

  } else {

    return [boolNum boolValue];

  }

}

 

- (void)setIsRobot:(BOOL)isRobot {

 

  objc_setAssociatedObject(self, kPlayerIsRobotKey, [NSNumber numberWithBool:isRobot], OBJC_ASSOCIATION_RETAIN_NONATOMIC);

}

分享到:
评论

相关推荐

    Objective-C Runtime Guide.pdf

    Runtime环境允许程序员在运行时动态地获取类的信息、方法列表以及实例变量等,这些特性为Objective-C提供了高度的灵活性。 #### 二、Runtime环境下的类与对象操作 1. **获取类信息** - 使用`objc_getClass`函数...

    Objective-C Runtime Programming Guide

    尽管了解Objective-C运行时系统的细节不是编写Cocoa应用程序所必需的,但掌握这些知识可以让开发者更好地理解Objective-C语言的底层机制,并在必要时利用这些强大的特性来构建更加复杂和灵活的应用程序。通过深入...

    iOS Objective-C Runtime v723 & Runloop 打包源码

    Objective-C Runtime是Objective-C语言的核心,它负责在运行时管理类、对象、方法等。在objc4-723源码中,你可以看到以下关键组件: 1. 类与对象:Runtime提供了创建和管理类的机制。例如,`objc_class`结构体表示...

    Objective-C 2.0 Runtime Programming Guide

    这份文档不仅对Objective-C语言的核心概念进行了阐述,还深入探讨了运行时环境的特性和功能,使开发者能够更好地理解和利用Objective-C的动态特性。 ### Objective-C 2.0简介 Objective-C是一种面向对象的编程语言...

    Objective-C Runtime中的并发内存分配.pdf

    Objective-C Runtime机制是苹果Mac和iOS平台编程中的核心组成部分,它负责支持Objective-C语言运行时的各种特性,其中objc_msgSend函数是Runtime系统中最为关键的一个函数,它处理着所有的消息发送。本文将探讨...

    Objective-C 2.0运行时系统编程指南

    Objective-C语言具有将尽可能多的处理工作推迟到运行时的特性,这意味着很多面向对象的决策(比如方法调用)是动态进行的。这种运行时的特性使得Objective-C更加灵活,但也需要一个复杂的运行时系统来支持,该系统在...

    Objective-C run time

    动态方法解析是Objective-C运行时的另一个重要特性,它允许开发者在程序运行时决定哪个方法将响应特定的消息。 动态加载 动态加载是指在运行时添加新的类到程序中的过程。文档对动态加载的机制和实现进行了说明。 ...

    ObjectiveC&C++的混合编译简单demo

    这种技术通常被称为“桥接”,使得开发者能够利用C++的强大功能,如算法和数据结构,同时保留ObjectiveC的动态特性和Objective-C Runtime的优势。 在Xcode中,创建一个ObjectiveC+C++的项目,首先需要设置正确的...

    Runtime资源

    Objective-C Runtime实际上是一系列C语言的函数集合,使得Objective-C的面向对象特性能够在底层实现。 2. Runtime的功能和作用: - 动态类型识别:通过Runtime,可以在程序运行时查询对象的类及其继承结构。 - 动态...

    runtime资料

    在iOS开发中,Runtime是一个至关重要的底层技术,它是一套由Apple提供的C语言API,用于在运行时查询和操作Objective-C对象。这个压缩包“runtime资料”包含了关于Runtime的文档和源码,对于深入理解Objective-C和iOS...

    Programming in Objective-C (6th Edition)

    Objective-C 是从 Smalltalk 语言中借鉴了一些概念和语法结构的,但它也添加了一些独特的特性,例如它的 runtime 环境和动态方法解析机制。 Objective-C 的主要特点包括: * 面向对象编程:Objective-C 是一种面向...

    【objective-c简易教程】IANRuntimeStudy.zip

    简而言之,Objective-C Runtime是一个将C语言转化为面向对象语言的扩展。 我们将C++和Objective进行对比,虽然C++和Objective-C都是在C的基础上加入面向对象的特性扩充而成的程序设计语言,但二者实现的机制差异很大...

    objc runtime 源码 208

    Objective-C runtime 是一个C语言实现的库,它负责对象的创建、方法调用、类型检查等核心操作。在这个源码分析中,我们将深入探讨以下几个关键概念:class、protocol、category 和 method,以及selector(sel)。 1...

    A Java to iOS Objective-C translation tool and runtime..zip

    标题中的"A Java to iOS Objective-C translation tool and runtime"指出,这是一个工具,它的主要功能是将Java代码转换为iOS平台上的Objective-C代码,并提供一个运行时环境来支持这种转换后的代码执行。...

    Objective-C基础教程(第2版)-有目录

    11. **Objective-C Runtime**:了解Objective-C运行时系统的工作原理,包括方法解析、类加载等。 12. **Cocoa与Cocoa Touch框架**:介绍Apple提供的主要开发框架,学习如何使用UIKit、Foundation等库来创建应用。 ...

    programming with objective c

    学习Objective-C之前,建议具备一定的C语言基础,了解基本的数据类型、控制流结构和指针操作。 ### See Also 参考文档和教程对于学习Objective-C非常有帮助。官方文档提供了详细的API参考和最佳实践指南。 ### ...

    runtime 编译objc4-750相关对应版本依赖库

    Objective-C的Runtime系统是其动态特性的核心,它允许程序在运行时修改类的行为、动态加载代码、反射等高级功能。本篇将深入探讨objc4-750这个特定版本的Runtime库及其编译过程,以及它对Objective-C开发的影响。 ...

    Manning.Objective-C.Fundamentals.Sep.2011.rar

    Objective-C是在C语言基础上添加了Smalltalk式的面向对象特性,包括消息传递机制、类和对象的概念。这本书会详细介绍Objective-C的历史、设计哲学以及它在现代软件开发中的地位。 2. **基本语法** - **变量与数据...

Global site tag (gtag.js) - Google Analytics