มาต่อด้วยเรื่องของ NSArray กันต่อเลยละกัน
ในการประกาศ NSArray จะเห็นว่ามีตัวแปรตัวสุดท้ายเป็น nil ( หรือ NULL ใน C/C++ ) เพื่อเป็นการบอกว่าสิ้นสุด array ดังตัวอย่าง
NSArray *dayName = [NSArray arrayWithObjects: @"Sunday" , @"Monday" , nil];
NSEnumerator
จากครั้งที่แล้ว การอ้างอิงถึง member ของ array ทำได้ด้วยการ ใช้ method ที่ชื่อว่า objectAtIndex เรายังสามารถเข้าถึง member ได้อีกวิธีหนึ่งนั่นก็การใช้ NSEnumerator
NSArray *dayName = [NSArray arrayWithObjects: @"Sunday" , @"Monday" ,nil]; NSEnumerator *enumerator; id obj; enumerator = [dayName objectEnumerator]; while ((obj = [enumerator nextObject]) != nil) { NSLog (@"Next day is: %@", obj); }
การใช้ NSEnumerator ก็คล้ายกับการใช้ iterator ใน stl ของภาษา c/c++ เลย
Searching
เราสามารถค้นหา object member ใน array ได้ด้วย method ที่มีชื่อว่า containsObject โดย methode นี้จะส่งค่า YES หรือ NO กลับมาให้ และยังมีอีกหนึ่ง method ที่ค้นหาตำแหน่งของ member นั่นคือ indexOfObject
ตัวอย่าง:
if ( [dayName containsObject:@"Sunday"] == YES ) { int index = [dayName indexOfObject:@"Sunday"]; printf("Index is: %d" ,index); }
NSMutableArray – 2
ก็เพิ่มเติมในส่วนของ mutable array กันสักหน่อย หลังจากครั้งก่อน เราทำการเพิ่ม member ให้กับ array ด้วย addObject และ insertObject:atIndex ไปแล้ว ยังมีอีก 2 method ที่จำเป็นเหมือนกัน นั่นก็คือ remove กับ replace
- remove
การ ลบ object ทำได้การเรียกใช้ methode ที่มีชื่อว่า removeObject หรือเราอาจจะ ใช้ removeObjectAtIndex เป็นการ ลบ object member ในตำแหน่งที่ต้องการ ออกจาก array - replace
การ replace ทำได้ด้วยการเรียกใช้ replaceObjectsAtIndexes:withObjects:
ตัวอย่างการใช้งาน
[dayName removeObject:@"Monday"]; [dayName removeObjectAtIndex:1]; [dayName replaceObjectsAtIndexs:1 :withObjects: @"Friday"];
ก็วันนี้มี source มาให้ด้วย


