
像这样工作:
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个对象所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)