Saya memiliki aplikasi Iphone dengan 2 utas. Yang satu mendengarkan server, dan yang lainnya melakukan hal-hal UIKit, OpenGl.
Saya perlu menjalankan metode yang memperbarui tampilan dari utas sekunder yang mendengarkan server di utas utama yang menangani tampilan, jadi saya menggunakan
performSelectorOnMainThread:@selector"createGuessingView" withObject:nil waitUntilDone:YES
tetapi karena alasan tertentu, metode ini tidak pernah dijalankan. Menempatkan breakpoint atau printf di awal metode menunjukkan bahwa metode tersebut tidak pernah dipanggil. Saya benar-benar bingung di sini. Saya telah menggunakan performselectoronmainthread
dalam program yang sama untuk memperbarui bidang teks dan itu bekerja dengan sempurna.
sunting:
Menemukan jawabannya :) Masalahnya adalah objek yang saya gunakan performSelectorOnMainThread disetel oleh thread ini sebelum objek diinisialisasi (bahkan dialokasikan) di thread utama. Oleh karena itu, referensi menunjuk ke nol, dan pemilih tidak dikenali.
Terima kasih untuk bantuannya