首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏猿人谷

    词典对象 NSDictionary与NSMutableDictionary

    statements } 或者 Type existingItem; for ( existingItem in expression ) { statements } 在上述两种情况中,表达式生成了一个遵循 NSFastEnumeration 采用(适配)快速枚举 如果一个类的实例提供了访问其它对象集合的方法,那么这个类就可以采用 NSFastEnumeration 协议.

    1.6K70发布于 2018-01-17
  • 来自专栏iOS开发~

    iOS_泛型 Generics __covariant(协变) __contravariant(逆变)

    @interface NSArray<__covariant ObjectType> : NSObject <NSCopying, NSMutableCopying, NSSecureCoding, NSFastEnumeration covariant KeyType, __covariant ObjectType> : NSObject <NSCopying, NSMutableCopying, NSSecureCoding, NSFastEnumeration

    1.5K10编辑于 2022-07-20
  • 来自专栏冰霜之地

    ReactiveCocoa 中 集合类 RACSequence 和 RACTuple 底层实现分析

    RACTuple @interface RACTuple : NSObject <NSCoding, NSCopying, NSFastEnumeration> @property (nonatomic RACTuple继承了NSCoding, NSCopying, NSFastEnumeration这三个协议。 这里之所以能用for-in,是因为实现了NSFastEnumeration协议。 至于for-in的效率,完全就看重写NSFastEnumeration协议里面countByEnumeratingWithState: objects: count: 方法里面的执行效率了。 第二个for-in循环是在遍历RACSequence,之所以可以用for-in的方式遍历就是因为实现了NSFastEnumeration协议,实现了countByEnumeratingWithState

    1.1K60发布于 2018-08-30
  • 来自专栏冰霜之地

    ReactiveCocoa 中 RACSignal 所有变换操作底层实现分析(中)

    3. concat: (在父类RACStream中定义的) + (instancetype)concat:(id<NSFastEnumeration>)streams { RACStream * 4. merge: + (RACSignal *)merge:(id<NSFastEnumeration>)signals { NSMutableArray *copiedSignals = [ 6. zip: (在父类RACStream中定义的) + (instancetype)zip:(id<NSFastEnumeration>)streams { return [[self join 7. zip: reduce: (在父类RACStream中定义的) + (instancetype)zip:(id<NSFastEnumeration>)streams reduce:(id (^)( 11. combineLatest: reduce: + (RACSignal *)combineLatest:(id<NSFastEnumeration>)signals reduce:(id (^)

    1.3K20发布于 2018-08-30
  • 来自专栏nimomeng的自我进阶

    Objective-C官方文档

    b) Mutable的Array可以直接sort,不需要返回新array 如果在collection中想表达”no object”,可以使用NSNull类 很多collection类实现了NSFastEnumeration

    1.9K30发布于 2018-09-13
  • 来自专栏nimomeng的自我进阶

    OC编程笔记

    b) Mutable的Array可以直接sort,不需要返回新array 如果在collection中想表达”no object”,可以使用NSNull类 很多collection类实现了NSFastEnumeration

    94030发布于 2018-09-13
  • 来自专栏APP自动化测试

    函数响应式编程及ReactiveObjC学习笔记 (二)

    CALayer: 0x6000002218a0>>", 1 ) 我们看看这个RACTuple @interface RACTuple : NSObject <NSCoding, NSCopying, NSFastEnumeration

    70511发布于 2019-10-15
  • 来自专栏零域Blog

    ReactiveCocoa 进阶

    使用 常见的用法,(先组合在聚合)combineLatest:(id<NSFastEnumeration>)signals reduce:(id (^)())reduceBlock reduce中的block

    1.2K30编辑于 2022-03-23
  • 来自专栏冰霜之地

    ReactiveCocoa 中 RACSignal 所有变换操作底层实现分析(下)

    [RACSignal merge:@[signalA,signalB,signalC]]; merge:操作在上篇文章分析过,再来复习一下: + (RACSignal *)merge:(id<NSFastEnumeration

    32610编辑于 2024-01-28
  • 来自专栏冰霜之地

    ReactiveCocoa 中 RACSignal 所有变换操作底层实现分析(下)

    [RACSignal merge:@[signalA,signalB,signalC]];复制代码 merge:操作在上篇文章分析过,再来复习一下: + (RACSignal *)merge:(id<NSFastEnumeration

    1.2K40发布于 2018-08-30
  • 来自专栏iOS开发~

    iOS_Effective Objective-C 20 编写高质量iOS与OS X代码的52个有效方法

    .*/} 支持快速遍历,遵从`NSFastEnumeration`协议就好,只有一个协议方法: - (NSinterger)countBeyEnumeratingWithState:(NSFastEnumerationState id *)stackbuffer count:(NSUInteger)length; ​ NSEnumerator对象也实现了NSFastEnumeration

    1.6K40编辑于 2022-07-20
领券