2012-03-26 34 views
8

Tôi nhận được lỗi bên dưới, điều này không có ý nghĩa.NSRangeException từ removeObjectsInRange: nhưng phạm vi đã vượt qua nằm trong giới hạn

* Chấm dứt ứng dụng do ngoại lệ còn tự do 'NSRangeException', lý do: '* - [NSMutableArray removeObjectsInRange:]: phạm vi {11, 15} vượt ra ngoài giới hạn [0 .. 15]'

Tôi đang làm gì sai ở đây? Tôi nằm trong giới hạn của mảng. Việc loại bỏ đối tượng cuối cùng trong mảng có gây ra vấn đề không?

Trả lời

43

Trường thứ hai của NSRange dài, không phải điểm cuối. Bạn đang cố gắng để loại bỏ mười lăm đối tượng, bắt đầu từ chỉ số 11.

Thay vào đó, bạn muốn làm điều gì đó dọc theo dòng:

[myArray removeObjectsInRange:(NSRange){11, 5}]; 
+0

Cảm ơn bạn. Tôi chỉ nhận ra tôi đã sử dụng NSRange sai. –

+1

@Yar: Đó là tài liệu chính xác, bạn biết đấy. :) –

+0

Tôi biết, nhưng tôi không bao giờ có thể hiểu khi nào các tài liệu sẽ giống nhau và khi iOS và Mac sẽ sản xuất các tài liệu khác nhau (mà chúng làm, đôi khi, như phương pháp khác nhau, v.v.). Họ không phải là trong trường hợp này, nhưng họ có thể khác nhau? –

Các vấn đề liên quan