ฉันมีแอพ Iphone ที่มี 2 เธรด คนหนึ่งกำลังฟังเซิร์ฟเวอร์ และอีกคนกำลังทำ UIKit, OpenGl
ฉันต้องเรียกใช้วิธีการที่อัปเดตมุมมองจากเธรดรองที่กำลังฟังเซิร์ฟเวอร์บนเธรดหลักที่จัดการมุมมองดังนั้นฉันจึงใช้
performSelectorOnMainThread:@selector"createGuessingView" withObject:nil waitUntilDone:YES
แต่ด้วยเหตุผลบางอย่าง วิธีการนี้ไม่เคยถูกดำเนินการเลย การใส่เบรกพอยต์หรือ printf ที่จุดเริ่มต้นของเมธอดแสดงว่าไม่เคยถูกเรียกใช้ ฉันนิ่งงันจริงๆที่นี่ ฉันเคยใช้ performselectoronmainthread
ในโปรแกรมเดียวกันเพื่ออัปเดตช่องข้อความและทำงานได้อย่างไม่มีที่ติ
แก้ไข:
คิดออกแล้ว :) ปัญหาคือวัตถุที่ฉันใช้ PerformSelectorOnMainThread ถูกตั้งค่าโดยเธรดนี้ก่อนที่วัตถุจะถูกเตรียมใช้งาน (แม้จะจัดสรร) ในเธรดหลัก ดังนั้น การอ้างอิงจึงชี้ไปที่ null และตัวเลือกไม่ได้รับการจดจำ
ขอบคุณสำหรับความช่วยเหลือ