ฉันสามารถที่จะนำเนื้อหาของนั้นNSSet
เป็นNSMutableArray
เช่นนี้
NSMutableArray *array = [set allObjects];
คอมไพเลอร์บ่นว่าเพราะ [set allObjects] ส่งคืนNSArray
not an NSMutableArray
. ควรแก้ไขอย่างไร?
ฉันสามารถที่จะนำเนื้อหาของนั้นNSSet
เป็นNSMutableArray
เช่นนี้
NSMutableArray *array = [set allObjects];
คอมไพเลอร์บ่นว่าเพราะ [set allObjects] ส่งคืนNSArray
not an NSMutableArray
. ควรแก้ไขอย่างไร?
คำตอบ:
เนื่องจาก-allObjects
ส่งคืนอาร์เรย์คุณสามารถสร้างเวอร์ชันที่เปลี่ยนแปลงได้ด้วย:
NSMutableArray *array = [NSMutableArray arrayWithArray:[set allObjects]];
หรือหากคุณต้องการจัดการกับความเป็นเจ้าของวัตถุ:
NSMutableArray *array = [[set allObjects] mutableCopy];
ฉันแก้ไขการหยุดทำงานโดยใช้เมธอด 'addObjectsFromArray' ของ NSMutableArrayเพื่อกำหนดอ็อบเจ็กต์NSSetทั้งหมดให้กับNSMutableArrayเช่น:
[mutableArray addObjectsFromArray:[cg_Schedule.schedule_Days allObjects]];
หวังว่านี่จะช่วยคุณได้
สำหรับการใช้งานชุดสั่งซื้อ:
NSArray *myArray = [[myOrderedSet array] mutableCopy];
- array
วิธีNSSet
set
nil