Saya ingin menggunakan pemilih pada instance NSObject tanpa perlu protokol yang diimplementasikan. Misalnya, ada metode kategori yang harus menetapkan properti kesalahan jika instance NSObject yang dipanggil mendukungnya. Ini kodenya, dan kodenya berfungsi sebagaimana dimaksud:
if ([self respondsToSelector:@selector(setError:)])
{
[self performSelector:@selector(setError:) withObject:[NSError errorWithDomain:@"SomeDomain" code:1 userInfo:nil]];
}
Namun, kompiler tidak melihat metode apa pun dengan setError: signature, sehingga memberi saya peringatan, untuk setiap baris yang berisi @selector(setError:)
potongan:
Undeclared selector 'setError:'
Saya tidak ingin harus mendeklarasikan protokol untuk menghilangkan peringatan ini, karena saya tidak ingin semua kelas yang menggunakan ini untuk mengimplementasikan sesuatu yang istimewa. Hanya dengan konvensi, saya ingin mereka memiliki setError:
metode atau properti.
Apakah ini bisa dilakukan? Bagaimana?
Cheers,
EP