IOS让自定义类是用下标

在ios中,有个非常有用的特性,就是可以为自己写的类增加下标访问功能。
如果我们自己的类中有个数组items,我们想直接给类加下标的方式来访问这个数组的元素,就像访问系统的数组一样,其实只要增加一个方法就可以。

- (id)objectAtIndexedSubscript:(NSUInteger)idx;

这个方法就是给类增加下标访问的功能。

看下具体的实现:

首先在MyClass.h文件中定义,

@property(nonatomic, strong, readonly)NSArray *items;

- (id)objectAtIndexedSubscript:(NSUInteger)idx;

然后实现

- (id)objectAtIndexedSubscript:(NSUInteger)idx

{

    return self.items[idx];

}

原先我们要访问items中的元素时,需要item = myClass.items[0];

现在只需要item = myClass[0];

当然,具体什么时候用,怎么用,看具体情况,如果随意的使用,很可能会让代码变的很难理解。

原文地址:https://www.cnblogs.com/wqxlcdymqc/p/3223284.html