objective-c – 从NSMutableArray中获取最后的x个对象

objective-c – 从NSMutableArray中获取最后的x个对象,第1张

概述我试图抓住数组中最后x个对象的数量并将其存储在另一个数组中. 像这样工作: NSMutableArray *LastLines = [[LogLines subarrayWithRange:NSMakeRange(0, [LogLines count])] mutableCopy]; 但是这不是: NSMutableArray *LastLines = [[LogLines subarrayWit 我试图抓住数组中最后x个对象的数量并将其存储在另一个数组中.

像这样工作:

NSMutableArray *Lastlines = [[Loglines subarrayWithRange:NSMakeRange(0,[Loglines count])] mutablecopy];

但是这不是:

NSMutableArray *Lastlines = [[Loglines subarrayWithRange:NSMakeRange(([Loglines count]-4),[Loglines count])] mutablecopy];

并在日志中显示以下错误:

2013-03-13 15:00:43.475 [38565:303] * – [NSArray subarrayWithRange:]:范围{83255,83259}超出边界[0 .. 83258]

但是范围似乎应该在范围内,所以我不确定为什么它会给出这个错误.

解决方法 您可以使用NSArray -subarrayWithRange:方法作为建议的其他答案,但要注意范围是否超出数组计数(例如,当数组只包含4个元素时获取最后10行),它将引发异常!

要避免这种情况,只需使用if来首先检查数组计数…

NSArray *logs = <some long array>int lastLogsCount = 100;if (logs.count > lastLogsCount) { // check count first to avoID exception    logs = [logs subarrayWithRange:NSMakeRange(logs.count - lastLogsCount,lastLogsCount)];}
总结

以上是内存溢出为你收集整理的objective-c – 从NSMutableArray中获取最后的x个对象全部内容,希望文章能够帮你解决objective-c – 从NSMutableArray中获取最后的x个对象所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1024183.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-23
下一篇2022-05-23

发表评论

登录后才能评论

评论列表(0条)

    保存