当前位置: 首页 > 软件库 > 程序开发 > 常用工具包 >

libextobjc

扩展 Objective-C 的 Cocoa 库
授权协议 MIT
开发语言 C/C++ Objective-C
所属分类 程序开发、 常用工具包
软件类型 开源软件
地区 不详
投 递 者 柴砚文
操作系统 OS X
开源组织
适用人群 未知
 软件概览

libextobjc 是用于扩展 Objective-C 编程语言的模块化的 Cocoa 库。它具有以下特点:

  • 使用EXTSafeCategory的安全类别,用于将方法添加到类中而不覆盖那里已有的任何内容(为您识别冲突)。
  • 使用EXTConcreteProtocol的具体协议,用于提供协议中方法的默认实现。
  • 使用EXTKeyPathCoding可以实现更简单,更安全的键路径,后者可以在编译时自动检查键路径。
  • 使用EXTSelectorChecking 对选择器进行编译时检查,以确保对象声明了给定的选择器。
  • 方便使用的块弱变量,使用@weakify@unsafeify以及@strongify从EXTScope模块。
  • @onExit在EXTScope模块中使用的基于范围的资源清除,用于在范围末尾自动清除手动分配的内存,文件句柄,锁等。
  • 使用EXTADT定义的,在编译时完全生成的代数数据类型
  • 使用EXTSynthesize 合成类别的属性
  • 基于块的协程,使用EXTCoroutine。
  • EXTNil,类似于NSNull,但其行为与实际情况更为接近nil(即,在发送无法识别的消息时不会崩溃)。
  • 在之上构建了许多扩展和其他功能<objc/runtime.h>,包括极其可自定义的方法注入,对对象属性的反映以及用于扩展类层次结构检查和方法查找的各种功能。
  • 算法沉思录:分而治之(复用); 分而治之是指把大而复杂的问题分解成若干个简单的小问题,然后逐个解决。这种朴素的思想来源于人们生活与工作的经验,也完全适合于技术领域。      要崩溃的节奏; 要崩溃的节奏;     Variable Attributes libextobjc 实现的 defer 并没有基于 Objective-C 的动态特性,甚至也没有调用已有的任何方法,而是使用了 Variab

  • pod 'libextobjc' #import "extobjc.h" 使用@weakify(self); @strongify(self)  

  •  * **Simpler and safer key paths**, using EXTKeyPathCoding, which automatically checks key paths at compile-time. libextobjc (0.2.5)    A Cocoa library to extend the Objective-C programming language.

  • 1.block其实是_NSConcreteStackBlock / _NSConcreteGlobalBlock / _NSConcreteMallocBlock 的对象.我们也知道所有的对象都是结构体变量. 2.block会自动捕获在block中出现的变量,并作为自己的成员变量.所以当一个对象强引用持有了block,block中又捕获了该对象,那么就会产生循环引用.这时候我们在block外边对该

  • libextobjc 阅读 转载于:https://www.cnblogs.com/feng9exe/p/10222111.html

 相关资料
  • 类扩展与类别有一些相似之处,但它只能添加到编译时具有源代码的类中(类与类扩展同时编译)。 类扩展声明的方法是在原始类的实现块中实现的,因此不能在框架类上声明类扩展,例如或类,如。 扩展名实际上是没有类别名称的类别,它通常被称为匿名类别。 声明扩展的语法使用关键字,就像标准的Objective-C类描述一样,但不表示子类的任何继承。 它只是添加括号,如下所示 - 扩展的特征 不能为任何类声明扩展,仅

  • 成员变量应该是 @private 小技巧 成员变量应该声明为 @private @interface MyClass : NSObject { @private id myInstanceVariable_; } // public accessors, setter takes ownership - (id)myInstanceVariable; - (void)setMyInstanc

  • 问题内容: 我处于需要使用Objective-C类别扩展Swift类的情况。我做了如下的事情: 在“ SomeClass.swift”中: 在“ SomeClass + Extension.h”中: 效果很好。而且,如果我尝试在我的Objective C代码中使用SomeClass扩展,那就很好了。 问题是,如果要在另一个Swift类中使用,则需要将文件放入文件中。 但是这样做会导致循环依赖性,因

  • 问题内容: 首先,我发现了这一点:目标CHTML转义/转义,但对我不起作用。 我的编码字符(来自RSS feed,顺便说一句)如下所示: 我在网上搜索了所有内容,并找到了相关的讨论,但是没有解决我的特定编码问题,我认为它们被称为十六进制字符。 问题答案: 这些被称为字符实体引用。当采用它们的形式时,它们称为_数字实体引用_ 。基本上,它是应该替换的字节的字符串表示形式。在的情况下,它表示ISO-8

  • Swift 是一种新的面向对象的编程语言,用于 iOS 和 OS X 应用程序开发。它旨在与 Cocoa、Cocoa Touch 和 Objective-C 无缝集成,允许您使用相同的熟悉类、模式和实践来构建应用程序。Swift 使使用 Cocoa 和 Objective-C 更安全、更快、更轻松、更有趣。 本书提供: – Swift Xcode 项目概述 – 使用 Cocoa、Objective

  • 本文向大家介绍Swift、Objective-C、Cocoa混合编程设置指南,包括了Swift、Objective-C、Cocoa混合编程设置指南的使用技巧和注意事项,需要的朋友参考一下 Swift 被设计用来无缝兼容 Cocoa 和 Objective-C 。在 Swift 中,你可以使用 Objective-C 的 API(包括系统框架和你自定义的代码),你也可以在 Objective-C中