Xcode ยังคงสร้างกระดานเรื่องราวหลังจากการกดแป้นแต่ละครั้ง


145

โครงการ Xcode ของฉันโดยใช้สตอรี่บอร์ดเข้ามาอยู่ในสถานะที่แปลกมากเมื่อเร็ว ๆ นี้: Xcode ช่วยให้การสร้างโครงการทั้งหมดและสะดุดตากระดานหลังจากที่แต่ละปุ่มกด ฉันพบว่าไม่มีเหตุผลสำหรับพฤติกรรมนี้ในโครงการของฉันที่ทำให้ไฟล์ที่น่าสนใจต่าง ๆ (กระดานเรื่องราวและโครงการ) และการตั้งค่าใน Xcode (บางทีฉันไม่สามารถหามันได้) ไม่จำเป็นต้องบอกว่า "คุณสมบัติ" นี้ทำให้โครงการของฉันเป็นไปไม่ได้ เนื่องจากซีพียูใช้งานสร้างสตอรี่บอร์ดขึ้นมาใหม่อย่างต่อเนื่องเมื่อฉันพิมพ์รหัสใหม่ มีใครเห็นสิ่งนี้ไหม

คำตอบ:


415

มันเกิดจากIB_DESIGNABLEคำจำกัดความในไฟล์ส่วนหัวของแหล่งที่มา อาจทำให้เกิดปัญหาเฉพาะในกรณีที่ไฟล์ส่วนหัวมีIB_DESIGNABLEอยู่นั้นรวมอยู่ (แม้โดยปริยาย) ไปยังไฟล์ต้นฉบับที่คุณกำลังแก้ไขอยู่

ฉันไม่พบวิธีแก้ปัญหาที่ชัดเจนเกี่ยวกับวิธีปิดการใช้งานIB_DESIGNABLEและทำให้การรวบรวมกระดานเรื่องราวและไฟล์ต้นฉบับอย่างต่อเนื่อง ฉันขอขอบคุณธง Xcode ที่จะปิดใช้งานสิ่งนี้ชั่วคราว ฉันพยายามล้อมรอบIB_DESIGNABLEด้วย#ifdefมาโครด้วยแต่ก็ถือว่ามีผลแม้ว่า#ifdefจะเป็นเท็จ การแสดงความคิดเห็นทีละคนIB_DESIGNABLEช่วย แต่มันไม่ได้เป็นทางออกที่มีหลายIB_DESIGNABLE s

ปรับปรุง

ในที่สุดฉันก็พบวิธีที่รวดเร็วในการหลีกเลี่ยงพฤติกรรมที่น่ารำคาญนี้ เมื่อเปิดกระดานเรื่องราวในหน้าต่างที่ใช้งานอยู่ให้ปิดการใช้งาน "รีเฟรชมุมมองอัตโนมัติ" จากเมนูตัวแก้ไข สิ่งนี้จะหยุดอัปเดตมุมมองในตัวแก้ไขเรื่องราวที่ใช้รหัสที่กำหนดเองของคุณและทำให้การพัฒนาของคุณเร็วขึ้นอย่างมาก เมื่อคุณต้องการการคอมไพล์แบบทันเวลาอีกครั้งเพื่อให้มีการแสดงตัวอย่างโค้ดที่กำหนดเองให้เปิดใช้งานตัวเลือกนี้อีกครั้ง (ดูเหมือนคุณต้องเปิดสตอรี่บอร์ดของคุณอีกครั้งเพื่อให้มันทำงานอีกครั้ง)

ป้อนคำอธิบายรูปภาพที่นี่

คุณอาจต้องการเพิ่มการเชื่อมโยงคีย์เข้ากับคำสั่งเช่น command-option-control-A เพื่อสลับการเปิด / ปิดการทำงานได้อย่างง่ายดาย ในการเพิ่มการเชื่อมโยงคีย์ใน Xcode ให้สัมผัสที่คอมม่าคอมมานด์เพื่อกำหนดลักษณะเลือกแท็บการผูกคีย์ใช้แถบค้นหาเพื่อค้นหาคำสั่งจากนั้นดับเบิลคลิกที่พื้นที่ด้านขวาเพื่อเพิ่มการกดแป้นที่คุณต้องการ

วิธีการ "ทิ้งมัน"

ปิด "รีเฟรชมุมมองอัตโนมัติ" หรือไม่เปิดเลยเลย

สร้างการกดแป้นพิมพ์ที่สะดวกสำหรับ"รีเฟรชทุกมุมมอง"พูด command-option-shift-R

ป้อนคำอธิบายรูปภาพที่นี่

ขณะที่คุณทำงานเพียงแตะ command-option-shift-R เป็นครั้งคราวหรือตามต้องการ โดยทั่วไปจำเป็นต้องสัมผัสคำสั่ง option-shift-R ขณะที่คุณทำงานบนกระดานเรื่องราวเท่านั้น


10
ไม่แน่ใจว่าเปิดได้อย่างไร แต่การปิด "มุมมองรีเฟรชอัตโนมัติ" แก้ไขปัญหาของฉันได้
MandisaW

1
Xcode 7.3 สร้างโครงการอย่างต่อเนื่องเมื่อตัวแก้ไขที่ใช้งานอยู่เปิดกระดานเรื่องราว โชคดีที่คำตอบนี้แก้ปัญหาของฉันได้ Apple ยังคงสร้างความประทับใจให้ฉัน ...
Oleksii Taran

24
แก้ไขปัญหา Xcode เวอร์ชัน 8.2.1 (8C1002) แล้ว เมื่อฉันพบคำตอบนี้และแก้ปัญหาของฉันฉันไม่สามารถหยุดน้ำตาได้ ฉันใช้เวลา 2 วันในฝันร้ายการลบข้อมูลที่ได้รับโครงการทำความสะอาดติดตั้งพ็อดทั้งหมด (ฉันคิดว่าถึงเวลาแล้วสำหรับ apple ให้พัฒนา IDE กับ Jetbrains ทั้งหมดแอปเปิ้ลทำอะไรเป็นเพียงแค่อึ! ขอบคุณ!
korgx9

2
ขอบคุณมาก xcode ยังคงสร้างสิ่งที่ทำให้ฉันรู้สึกไม่สบายใจ
Chauyan

8
วิธีนี้ใช้ได้กับ Xcode 9 เช่นกัน เปลี่ยนเป็น "Refresh Views โดยอัตโนมัติ" ใน Storyboard และไม่มีการสร้างใหม่อย่างต่อเนื่อง ขอบคุณมาก!
PL

7

ฉันมีปัญหานี้และคำตอบที่ยอมรับไม่ได้ผลสำหรับฉัน

ปัญหาที่ฉันมีคือฉันมักจะเปิดกระดานเรื่องราวในแท็บของตัวเองภายใน XCode เพื่อให้ฉันสามารถเข้าถึงได้อย่างรวดเร็ว

วิธีเดียวที่ฉันสามารถแก้ไขได้ก็คือปิดแท็บนั้นหรือเลือกไฟล์อื่น (เช่นไฟล์รหัสปกติ) จากนั้นปิดและเปิด XCode อีกครั้ง หลังจากนั้นมันก็ไม่ได้สร้างใหม่ในการกดแป้นแต่ละครั้งอีกต่อไป

ได้รับการเตือน แต่ถ้าคุณต้องเปิดกระดานเรื่องราวเพื่อทำการเปลี่ยนแปลงปัญหานี้อาจเกิดขึ้นอีกครั้งและฉันจะต้องทำซ้ำขั้นตอนข้างต้น

อดใจรอไม่ไหวที่ Apple จะแก้ปัญหานี้เพราะมันน่าผิดหวังมาก!

(ノಠ益ಠ) ノ彡┻━┻

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.