gpt4 book ai didi

objective-c - 如何实现像 NSArray 这样的自定义对象

转载 作者:行者123 更新时间:2023-12-02 05:02:35 26 4
gpt4 key购买 nike

我想实现一个名为“XXXList”的对象,它将返回一个集合(不是 NSArray 子类),这样我就可以像使用 NSArray 一样使用它:

XXXList *list = [XXXList list];

for(id object in list)
{
......
}

最佳答案

你可以用 NSArray 做几件事,我将列出其中两个我认为可能是你想要的:

首先,您可以使用 for...in 循环 (NSFastEnumeration) 进行迭代,其次,您可以使用索引下标表示法(类似于 list[2])。幸运的是,这两者也可用于其他类型的对象,您只需要实现它们即可。

实现 NSFastEnumeration 并不是那么简单,我建议继续阅读 Mike Ash’s NSBlog post .

另一方面,实现下标表示法非常简单,您只需要实现两个方法。

有 setter/getter :

 - (id)objectAtIndexedSubscript: (NSUInteger)index;

和二传手

 - (void)setObject: (id)obj atIndexedSubscript: (NSUInteger)index;

有一个 NSBlog post on that ,也是。

关于objective-c - 如何实现像 NSArray 这样的自定义对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16833117/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com