问题标签 [nsrangeexception]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
311 浏览

ios - 如何解决 NSRangeException

嗨,我是 iphone 编程新手,我正在使用 EGOPhotViewer 并希望使用此代码显示图像,

我得到这个错误

0 投票
3 回答
581 浏览

core-data - 核心数据迁移后的 NSRangeException

在向我的应用程序添加新的 Core Data 模型版本后,我执行了轻量级迁移,显然是成功的。迁移的文件加载正常,但在第一次尝试通过特定关系访问属性时,应用程序崩溃并显示NSRangeException: '*** -[__NSArrayM objectAtIndex:]: index 4294967295 beyond bounds [0 .. 35]'. 这种关系在迁移之前运行良好。我从这里的其他帖子中知道 4294967295 确实-1是它的表)。

问题:

我的问题是:根据我遇到的错误和我在下面完成的故障排除,是否有一种模式更改可以通过轻量级迁移,但在此过程中会破坏数据,导致注意到的异常?我将尝试将迁移分解为多个版本的较小块,以隔离或避免该问题,但如果能够专注于可能有问题的特定架构更改,那就太好了。

失败:

失败发生在“myobject”中的以下代码:

object2 关系是一对一的,非可选的两种方式,数据模型之间的正向或反向关系都没有改变。该text属性可能不相关,因为发生错误时,awakeFromFetch在 object2 中未达到。如果我[self object2]在上述语句之前分配给变量,则分配成功并报告data: <fault>.

数据库:

查看 sqlite3 中的数据库,我注意到以下内容:

  1. 正向和反向关系的索引值在每个表中似乎都是正确的。
  2. object2 表有两列用于反向关系,而不是迁移之前的一列(ZMYOBJECT如前所述,另外还有Z2_MYOBJECT一个,对于所有行都是空的)。没有添加其他关系来解释此列。
  3. Z_PRIMARYKEY表中,迁移后的所有条目都显示-1Z_MAX,而在迁移之前,空表显示为零,填充表显示最大行数。手动更新Z_MAX到正确的值对异常没有帮助。所有Z_SUPER值都是正确的。

我建立了一个映射模型,看看自动映射是否有任何问题,但一切看起来都很好。

总体架构更改

在数据模型的源版本中,有 14 个实体,其中只有 4 个已填充数据(该应用程序仍在开发中)。七个是顶级实体,七个是三个顶级实体的子实体。

在数据模型的目标版本中,添加了 22 个实体,一些顶级实体和一些子实体,以及数十种关系,包括一些添加到现有实体中的关系。

从现有实体中删除了一些属性和关系,并添加了其他属性和关系。没有更改数据类型或关系设置,没有重命名属性或关系,也不需要特殊映射。

更新(2/25/12):当我开始研究一个新的中间模型时,我记得我已经将许多实体的类(representedClassName)从 NSManagedObject 更改为 NSManagedObject 子类,但没有生成类文件. 我不怀疑这会导致问题,事实上,创建所有类文件并没有帮助解决异常。我只是想指出这是模型之间的另一个变化。

结论:

这是一个疯狂的猜测,但如果 36 个实体计数不是巧合,似乎当“myobject”试图在“object2”中出错时,它没有对表的有效引用并试图加载表号 -1 ,导致异常。然而,一个简单的分配[self object2]成功的事实并不符合这个结论。

有任何想法吗?

0 投票
1 回答
317 浏览

objective-c - NSRangeException 错误... NSDictionary、NSArray、UISearchBar

我对Objective C很陌生,我遇到了一段时间的麻烦,我一直在寻找答案,观看教程,但我一直无法找到解决问题的方法。也许它就在我面前而我没有看到它......我认为它与我的 UISearch Bar 的 NSRange 有关。但我不是 100% 确定。

我正在尝试搜索具有我的国家/地区字典键的数组,我已经设置了几个 NSLog,我看到这些键正在进入我设置的数组以保存它们,然后我得到下面的错误.. .

因此,据我了解,它计算的是有 5 个的 countryKeys,所以索引 4 应该存在,不是吗?但随后它显示 0 .. 3,所以我这就是为什么我认为我使用 NSRange 不正确。到目前为止,我已经观看了一些 UISearchBar 和 For 循环教程,并且我对 For 循环和它们的理解更好,我想我需要弄清楚 NSRange。

如果您不了解我的思维过程或我提到的任何内容,请告诉我。

-

0 投票
1 回答
1582 浏览

objective-c - 由于未捕获的异常“NSRangeException”而终止应用程序。[__NSArrayM objectAtIndex:]: 索引 33 超出范围 [0 .. 32]'

我有这个 ImportViewController.m

我正在从服务器的 xml 中提取和加载名称。元素总数为 33。

错误:由于未捕获的异常 'NSRangeException' 导致应用程序终止,原因:' * -[__NSArrayM objectAtIndex:]:索引 33 超出范围 [0 .. 32]' *第一次抛出调用堆栈:

0 投票
1 回答
2002 浏览

ios - 设置属性文本,NSRangeException 错误

试图通过选择设置我的 UIText 视图的属性文本属性。几乎可以工作。用下面的红色字体颜色设置文本的操作。这有时有效,但通常会出错:

由于未捕获的异常“NSRangeException”而终止应用程序,原因:“NSMutableRLEArray objectAtIndex:effectiveRange:: Out of bounds”

即使文本视图中的字符似乎多于所选范围所指示的字符,也会发生这种情况。

p1 和 p2 是所选文本的开始和结束。它们是使用下面的代码生成的,这似乎按预期工作:

编辑:我在阅读@borrrden 的评论后解决了这个问题。而不是NSMakeRange(p1,p2)]我使用NSMakeRange(p1,p2-p1)].

0 投票
2 回答
179 浏览

iphone - NSRangeException 随机崩溃应用程序

  1. 我的应用程序在_storeArray.
  2. 在 viewDidLoad 中,有一个[self loadUrl]解析 xml 文件然后添加字典的方法[_storeArray addObject:dictionary]
  3. 当轮播 reusingView 以某种方式首先调用时,就会发生崩溃[self loadUrl]
  4. 我已经添加了,if(_storeArray)但它仍然崩溃。

这是一个例外:

这是代码:

0 投票
1 回答
84 浏览

xcode - 拆分字符串后的Xcode 4 NSRangeException错误

我正在尝试拆分字符串并将其分成变量,但出现以下错误:

* 由于未捕获的异常“NSRangeException”而终止应用程序,原因:“* -[__NSArrayM objectAtIndex:]: index 2 beyond bounds [0 .. 1]”

代码:

有任何想法吗?谢谢!

0 投票
2 回答
338 浏览

ios - 遍历数组,索引错误

我正在创建一个UIScrollView横向滚动的按钮和标签(与按钮一起使用),我正在以编程方式添加这些按钮和标签。

我有 44 个按钮和标签,所以我想通过一个数组来创建它们。

这就是我尝试这样做的方式(我是一个新手程序员,所以我知道事实上这是错误的做法。

请记住,nameArray为标签picArray保存字符串,为图片的文件名保存字符串。

无论如何,这是在我的viewDidLoad:

这个for循环引用的方法写在下面:

该方法没有太多内容,makeLabelsAndButtons因为我试图在添加代码内容之前先了解这个概念。

这是我崩溃的错误:

我知道这意味着数组超出了范围,但我不知道为什么。

任何帮助表示赞赏!

0 投票
1 回答
1294 浏览

objective-c - 带有 Sections [indexPath Row] 的 TableView 中的 NSRangeException 超出范围

这是打印到控制台的错误:

该程序恰好在以下位置中断:

cellForRowAtIndexPath:方法中

以下是所有的 tableview 方法:

从控制台执行一些命令后:

po [型号数]

po (int)[indexPath 行]

我看到当 [models count] 等于 2 并且 [indexPath row] 也等于 2 时它会中断,这当然会使它超出范围,因为 2 实际上是 3,因为表索引从 0 开始。

问题是,为什么会发生这种情况?在切换表值后,我已经重新加载了表数据,我检查并计算了每个部分的所有行数,它们看起来是正确的。那么为什么还会发生这种情况呢?奇怪的是,当我在表格中向下滚动时,重新调用 cellForRowAtIndexPath:(NSIndexPath *)indexPath 之后会发生这种中断。

这发生在 Xcode 4.6.1 中的所有模拟器 ios 5.0 - ios 6.1

**编辑:

我应该补充一点,这只发生在加利福尼亚州和威斯康星州。我认为这将有助于缩小范围,但我已经检查了数据库,并且县和模型的数量与调试器中返回的内容相匹配。

0 投票
1 回答
193 浏览

ios - textField/textView 上的 NSRangeException becomeFirstResponder

我在一个视图上有 2 个文本字段和 1 个文本视图。只有一个 textFields 将 vc 作为委托。每当这 3 个中的任何一个成为 firstResponder(以编程方式或通过被点击)时,应用程序都会崩溃。错误是:

我有一个以编程方式添加为子视图的 tableView,但我已经从 h 和 m 文件中删除了 tableView 的所有痕迹,但仍然收到引用 tableView 的错误。这个 vc 是从 tableViewController 推送的,这可能是被引用的内容吗?

它在使用 6.1 和 5.1 的 iPhone 和 iPad 上的模拟器崩溃,对于使用 6.1.3 的 iPhone 也崩溃,但它在运行 6.1.3 的 iPad 上运行良好。

有任何想法吗?

谢谢