obj c tidak mempunyai kaedah persendirian yang ketat Ini ditentukan oleh mekanisme panggilan kaedahnya. Memanggil kaedah objek dalam obj c sebenarnya menghantar mesej kepada objek dan objek akan melihat sama ada ia boleh mengendalikannya. Jika mesej ini boleh diproses, kaedah yang sepadan akan dipanggil untuk melaksanakannya. Jika ia tidak dapat diproses, pengecualian akan dilemparkan Ini sepenuhnya tindakan masa jalan. Jadi, walaupun kaedah tidak diisytiharkan dalam fail pengepala, ia masih boleh dipanggil pada masa jalan, dan ia tidak berbeza daripada jika anda mengisytiharkannya dalam fail pengepala Paling banyak, Xcode akan memberi anda amaran.
Begitu juga dengan kaedah statik, kerana kelas itu sendiri juga merupakan objek. Memanggil kaedah statik bermakna menghantar mesej ke objek ini.
Apa yang dipanggil kaedah persendirian (tidak ditakrifkan dalam fail pengepala), saya secara peribadi berpendapat lebih merupakan kekangan yang diletakkan oleh pengaturcara pada diri mereka Sebagai contoh, jika mereka tidak diletakkan dalam fail pengepala, ini bermakna mereka tidak terdedah. Itu sahaja kaedahnya tidak dijangka dipanggil dari luar, walaupun anda masih boleh menggunakannya jika anda mahu.
Rujuk artikel ini, yang sangat terperinci dan jelas: http://blog.jobbole.com/45963/
Semua kaedah yang diisytiharkan dalam .h adalah awam secara lalai.
Jika anda mahu ia menjadi peribadi, tidak perlu mengisytiharkannya dalam .h, cuma laksanakan terus dalam .m. Adalah disyorkan bahawa semua kaedah persendirian bermula dengan p_, cth:
- (kosong) p_myFirstMethod
{
//todo..
}
Adalah disyorkan untuk melihat http://blog.sunnyxx.com/2014/04/13/objc_dig_interface/
obj c tidak mempunyai kaedah persendirian yang ketat Ini ditentukan oleh mekanisme panggilan kaedahnya. Memanggil kaedah objek dalam obj c sebenarnya menghantar mesej kepada objek dan objek akan melihat sama ada ia boleh mengendalikannya. Jika mesej ini boleh diproses, kaedah yang sepadan akan dipanggil untuk melaksanakannya. Jika ia tidak dapat diproses, pengecualian akan dilemparkan Ini sepenuhnya tindakan masa jalan. Jadi, walaupun kaedah tidak diisytiharkan dalam fail pengepala, ia masih boleh dipanggil pada masa jalan, dan ia tidak berbeza daripada jika anda mengisytiharkannya dalam fail pengepala Paling banyak, Xcode akan memberi anda amaran.
Begitu juga dengan kaedah statik, kerana kelas itu sendiri juga merupakan objek. Memanggil kaedah statik bermakna menghantar mesej ke objek ini.
Apa yang dipanggil kaedah persendirian (tidak ditakrifkan dalam fail pengepala), saya secara peribadi berpendapat lebih merupakan kekangan yang diletakkan oleh pengaturcara pada diri mereka Sebagai contoh, jika mereka tidak diletakkan dalam fail pengepala, ini bermakna mereka tidak terdedah. Itu sahaja kaedahnya tidak dijangka dipanggil dari luar, walaupun anda masih boleh menggunakannya jika anda mahu.
Rujuk artikel ini, yang sangat terperinci dan jelas: http://blog.jobbole.com/45963/
Ya, kategori dan sambungan dalam antara muka adalah bersamaan dengan kaedah peribadi.
Kategori: nama kelas + kaedah sambungan; Anda boleh mencarinya.
Semua kaedah yang diisytiharkan dalam .h adalah awam secara lalai.
Jika anda mahu ia menjadi peribadi, tidak perlu mengisytiharkannya dalam .h, cuma laksanakan terus dalam .m. Adalah disyorkan bahawa semua kaedah persendirian bermula dengan p_, cth:
- (kosong) p_myFirstMethod
{
//todo..
}