- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我尝试在 StackOverflow 上查看所有这些问题,但找不到任何对我有帮助的东西。我什至不能自己复制它,我是通过 iTunes Connect 从实际用户那里得到的。这是 Xcode 上的崩溃日志:
这是我崩溃的完整 serializedLocations 方法,没有从中删除任何内容:
- (NSMutableArray *)serializedLocations:(NSArray *)locations withTimestamp:(NSInteger)timestamp{
NSMutableArray *serializedLocations = [NSMutableArray new];
if(locations){
for (CLLocation *location in locations) {
NSInteger locationTimeInterval = floor([location.timestamp timeIntervalSince1970] * 1000);
NSInteger t = locationTimeInterval - timestamp;
NSMutableDictionary *serializedLocation = [NSMutableDictionary new];
serializedLocation[@"x"] = [NSNumber numberWithDouble:location.coordinate.latitude];
serializedLocation[@"y"] = [NSNumber numberWithDouble:location.coordinate.longitude];
serializedLocation[@"a"] = [NSNumber numberWithDouble:location.horizontalAccuracy];
serializedLocation[@"v"] = [NSNumber numberWithDouble:location.speed];
serializedLocation[@"o"] = [NSNumber numberWithDouble:location.course];
serializedLocation[@"t"] = [NSNumber numberWithLong:t];
[serializedLocations addObject:serializedLocation];
}
}
return serializedLocations;
}
我似乎找不到缺陷。
编辑:
让所有其他方法运行的父级调用如下:
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
[ApiClient insertEvent:event withLocations:locations];
});
最佳答案
我猜测 locations
,虽然在这里输入为 NSArray,但实际上是一个 NSMutableArray — 而 this 是在您更改时正在改变的数组枚举它。如果您要在后台线程上运行此代码,则需要确保 locations
不会“在您的背后”发生突变。一种简单的方法是在调用站点制作 locations
的深拷贝并传递 that 而不是可变数组。 (请注意,在 serializedLocations:withTimestamp:
中进行深层复制是不够的,因为 locations
可能会在复制过程中发生变化。)
关于ios - 枚举时 NSArrayM 发生了变异 - 添加对象,而不是删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43193297/
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 想改进这个问题?将问题更新为 on-topic对于堆栈溢出。 8年前关闭。 Improve this qu
我正在开发iOS应用程序。值存储在Array上,但是当我运行应用程序时,它崩溃,数组索引超出范围。请先帮助并谢谢。 代码: daysOfWeek = [NSArray arrayWithObjects
尝试从查询中检索键名时出现以下错误。然后将其转换为 View Controller 使用的 int。 Could not cast value of type '__NSArrayM' (0x1073
- (void)connectionDidFinishLoading:(NSURLConnection *)connection { [jsonArray removeAllObjects]
我在项目中使用了 4 个图像..运行时结果: * Terminating app due to uncaught exception 'NSInvalidArgumentException', rea
我的问题是:我正在查询 user["key"],我正尝试将其分配给一个新变量,如文档中所述。 Parse 中的列是一个 Strings 数组,在我的查询中,如果我 println(user["key"
在我的 Controller 中,我有两个 UICollectionView 和两个不同的NSFetchedResultsControllers: 这就是我在 viewDidLoad: 中创建它的方式
我尝试在 StackOverflow 上查看所有这些问题,但找不到任何对我有帮助的东西。我什至不能自己复制它,我是通过 iTunes Connect 从实际用户那里得到的。这是 Xcode 上的崩溃日
我有时会遇到这个错误: *** Terminating app due to uncaught exception 'NSGenericException', reason: '*** Collect
经过大量搜索,并尝试了一些关于 stackoverflow 的解决方案,我没有找到任何可以解决我的错误的答案:我有一个 UIViewcontroller,它的名字是 WorldViewControll
在我被烤之前,我要说的是,我已经查看了几乎所有“无法识别的选择器发送到实例”的答案,并尝试了一些建议,但似乎没有任何效果。这是我的问题。 我在 viewDidLoad 函数中调用我的函数 Create
我尝试将Json Datas插入sqlite数据库。我从另一个类获取数据,并且它们在字典中(responce.item),但无法插入数据库。我收到这样的错误:无法识别的选择器发送到实例。我怎么解决这个
由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“-[__NSArrayM objectForKey:]:无法识别的选择器发送到实例 0x12e654c0
我一直在尝试将 json 返回值设置为字符串,但不知何故它显示 "Could not cast value of type '__NSArrayM' (0x10ecdae00) to 'NSStri
我是iPhone新手, 我们的团队创建了一个应用程序并上传到“AppStore”,我们还集成了“Bug Sense”。 现在我们的应用因崩溃而受到负面评价,我们已在iPhone / iPad 6.1.
通常,我不喜欢去那些比我更精通编程语言的人,然后再尝试解决这个问题,但是我已经花了很长时间了。曾经很受欢迎 由于未捕获的异常'NSInvalidArgumentException'而终止应用程序,原因
*** Terminating app due to uncaught exception 'NSRangeException', reason: ' *** -[__NSArrayM objectA
当我进行检查以确保 CopyItems 数组中包含某些内容时,我收到错误: NSArrayM objectAtIndex:]: index 0超出空数组的范围 NSArray *classes = [
我是一名优秀的程序员,十分优秀!