Sono appena stato morso da un fastidioso bug che è stato reso oscuro dal comportamento "invia messaggio a nil è ok" in Objective-C.C'è un modo per intercettare i messaggi inviati a zero in Objective-C?
Ho visto Sending a message to nil? e il consenso sembra essere "questo è il modo in cui rotoliamo" in Objective-C.
Ora, forse non ho abbastanza esperienza in Objective-C, ma sembra che sarebbe utile per intercettare questo, perché non riesco a pensare a una buona ragione per cui questo dovrebbe accadere più di il tempo. Tuttavia, potrebbe essere solo un idioma di programmazione a cui non sono ancora abituato.
Così diverso da controllare per nil ovunque in questo modo:
assert(object != nil);
[object message];
C'è un modo per rendere la trappola runtime questa condizione, e avvertire quando object
è pari a zero?
Perché non provare a scrivere in un linguaggio Objective-C, invece di trasferire gli idiomi Java in Objective-C? – runako
Non lo saprei, non codice in Java. Chiaramente altre persone hanno trovato questo utile (vedi risposta sotto). – Justicle
s/Java/un altro linguaggio di programmazione /. Imparare gli idiomi nativi di qualsiasi ambiente ti renderà generalmente più produttivo in quell'ambiente. Non combattere i tuoi strumenti. – runako