1
อาร์กิวเมนต์ BOOL * stop สำหรับ enumerateObjectsUsingBlock: ใช้สำหรับอะไร
ช่วงนี้ฉันใช้enumerateObjectsUsingBlock:งานจำนวนมากสำหรับความต้องการการแจงนับอย่างรวดเร็วและฉันมีปัญหาในการทำความเข้าใจการใช้งานBOOL *stopในบล็อกการแจงนับ NSArrayรัฐอ้างอิงระดับ stop: การอ้างอิงถึงค่าบูลีน บล็อกสามารถกำหนดค่าYESเพื่อหยุดการประมวลผลอาร์เรย์เพิ่มเติมได้ stopอาร์กิวเมนต์เป็นข้อโต้แย้งออกเท่านั้น คุณควรตั้งค่าบูลีนนี้เป็นYESภายในบล็อกเท่านั้น ดังนั้นแน่นอนฉันสามารถเพิ่มสิ่งต่อไปนี้ในบล็อกของฉันเพื่อหยุดการแจงนับ: if (idx == [myArray indexOfObject:[myArray lastObject]]) { *stop = YES; } จากสิ่งที่ฉันสามารถบอกได้การไม่ตั้งค่าอย่างชัดเจน*stopให้YESไม่มีผลข้างเคียงเชิงลบใด ๆ การแจงนับดูเหมือนจะหยุดตัวเองโดยอัตโนมัติเมื่อสิ้นสุดอาร์เรย์ ดังนั้นการใช้จึง*stopจำเป็นจริงๆในบล็อก?