2010-02-26 22 views
7

Tôi có một số NSMutableArray, tôi muốn chèn dữ liệu bên trong nó, vấn đề là trước tiên tôi muốn kiểm tra xem chỉ mục tôi đang chèn dữ liệu có tồn tại hay không. Làm thế nào để làm điều đó? tôi cố gắng một cái gì đó như thế nhưng không được làm việc:Kiểm tra xem liệu dữ liệu có ở chỉ mục trong NSMutableArray

if ([[eventArray objectAtIndex:j] count] == 0) 

hoặc

if (![eventArray objectAtIndex:j]) 

Trả lời

11
if (j < [eventArray count]) 
{ 
    //Insert 
} 
+0

Không trả lời câu hỏi của OP; ludo đang tìm kiếm một cái gì đó giống như một mảng thưa thớt. – bbum

+1

Tôi là ngu ngốc đôi khi -, .- dù sao cảm ơn cho câu trả lời này nhanh chóng ~ ^^ – ludo

+0

không có nó làm việc hoàn hảo, tôi thậm chí không nghĩ rằng dễ dàng haha ​​ – ludo

3

NSArrayNSMutableArray không mảng thưa thớt. Do đó, không có khái niệm "tồn tại ở chỉ mục", chỉ "mảng có các phần tử N trở lên".

Đối NSMutableArray, tổng số tiền lớn của các hoạt động có thể thay đổi là:

- (void)addObject:(id)anObject; 
- (void)insertObject:(id)anObject atIndex:(NSUInteger)index; 
- (void)removeLastObject; 
- (void)removeObjectAtIndex:(NSUInteger)index; 
- (void)replaceObjectAtIndex:(NSUInteger)index withObject:(id)anObject; 

Tất cả các phương pháp đột biến khác có thể được thể hiện bằng những điều trên và - cụ thể hơn cho câu hỏi của bạn - loại bỏ một đối tượng không tạo một lỗ (bạn cũng không thể tạo một mảng với các lỗ "N" để điền sau).

+4

Điều này không trả lời câu hỏi của OP: P – willcodejavaforfood

0

Tôi đã thực hiện ngắn gọn một mảng thưa thớt trong câu hỏi này: Sparse Array answer

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