Saya mencoba menulis aplikasi iPhone pertama saya dan saya mengalami masalah dengan delegasi.
Saya memiliki kelas yang menggunakan AVAudioPlayer untuk memutar beberapa suara, saya kemudian memiliki kelas lain yang saya perlukan untuk melakukan sesuatu ketika suara itu selesai. Jadi saya memerlukan kelas ini untuk mengimplementasikan metode audioPlayerDidFinishPlaying pada pemutar audio.
Masalahnya, saya tidak tahu bagaimana menjadikan kelas kedua saya sebagai delegasi pemutar audio yang merupakan anggota kelas pertama. Saya membuat metode di kelas pertama yang mengambil referensi ke kelas dan menjalankan metode setDelegate ini, tetapi metode audioPlayerDidFinishPlaying tidak pernah dipanggil. Namun jika saya menerapkan metode audioPlayerDidFinishPlaying di kelas pertama, itu akan dianggap baik-baik saja. Bagaimana saya bisa memanggil audioPlayerDidFinishPlaying di kelas kedua?
Jadi, kode yang saya gunakan untuk menambahkan delegasi, di kelas pertama saya punya metode ini:
-(void) setAudioDelegate:(id)delegate{
[audioPlayer setDelegate:delegate];
}
lalu di kelas kedua saya memanggilnya dari ini
[class1 setAudioDelegate:self];
audioPlayer
disetel ke sesuatu yang berarti saat dipanggil? Dalam metode apa[class1 setAudioDelegate:self]
itu dipanggil? Seperti apa metodeaudioPlayerDidFinishPlaying:
kelas itu? - person Chuck   schedule 13.09.2010