刚接触可可豆,似乎错过了什么.

用什么最优雅/惯用的方式获得NSArray的前x元素作为另一个NSArray?显然,我可以遍历它们并手动存储它们,但似乎必须有一种更标准的方法来实现这一点.

我本来以为会有-arrayWithObjectsInRange:或类似的数字,但什么都没看到...

NSArray* largeArray...// Contains 50 items...

NSArray* smallArray = // fill in the blank     

// smallArray contains first 10 items from largeArray

谢谢

推荐答案

你可以用subarrayWithRange:.

NSArray *smallArray = [largeArray subarrayWithRange:NSMakeRange(0, MIN(10, largeArray.count))];//MIN() used because array must be larger than or equal to range size, else exception will be thrown

Objective-c相关问答推荐

警告:格式字符串不是字符串文字(可能不安全)

通过指针算术访问数组值与 C 中的下标

当前时间是 HH:MM:SS am/pm 格式吗?

XCTAssert 和 XCTAssertTrue 有什么区别?

xcode 未知类型名称

增加推送通知徽章 iPhone

判断对象是 NSArray 还是 NSDictionary

如何隐藏/显示导航栏中的右键

类在两者中都实现.将使用两者之一

如何编写 OS X Finder 插件

判断是否已实现可选协议方法

NS_ASSUME_NONNULL_BEGIN 宏

Objective-C 异常

UICollectionView 自动调整高度

如何在 Objective-C 中添加具有自己的 UIViewController 的子视图?

通过将另一个字符串重复给定次数来创建 NSString

在 Objective-C 中计算两个日期之间的天数

从带有参数的方法名称创建 Select 器

Xcode没有编译任何项目? 'clang 失败,退出代码 255'

如何检测父视图控制器中模态视图控制器的解除?