avevo messo il contrario: si potrebbe rischiare overcomplicating qualcosa che è ridicolmente semplice :-)
Ok, devo essere un po 'loquace. Come altri stanno sottolineando, Objective-C è in realtà solo un set minimo di estensioni di linguaggio per C. Quando scrivi il codice Objective-C, stai effettivamente scrivendo C. Puoi persino accedere alle macchinazioni interne del supporto runtime Objective-C usando alcune pratiche funzioni C che fanno parte della lingua (no ... non ti consiglio di farlo in realtà a meno che tu non sappia davvero cosa stai facendo).
Circa l'unica volta in cui ho avuto momenti delicatamente delicati è quando volevo passare un metodo di istanza Objective-C come un callback a una funzione C. Supponiamo, ad esempio, che io stia usando una libreria cross-platform pure-C che ha funzioni che accettano una callback. Potrei chiamare la funzione all'interno di un'istanza di oggetto per elaborare alcuni dati, e poi voglio che quella funzione C richiami la mia istanza BACK quando viene eseguita, o come parte di ottenere input aggiuntivi ecc. Ecc (un paradigma comune in C). Questo può essere fatto con il funky function wrapping, e alcuni altri metodi creativi che ho visto, e se hai mai avuto bisogno di farlo su google "metodo-obiettivo-c per callback c" o qualcosa del genere ti darà la merce.
L'unico altro consiglio è di assicurarsi che gli oggetti gestiscano in modo appropriato qualsiasi memoria malloc
manuale creata per essere utilizzata dalle funzioni C. Vorresti che le tue classi obiettivo-c mettessero in ordine quella memoria su dealloc se, in effetti, fosse finita.
Oltre a questo, spolvera qualsiasi riferimento su C e divertiti!
fonte
2009-04-03 19:14:27
come dovrei riformulare la domanda? – gargantuan
Non è questione di riformulazione. Objective-C contiene tutto il C, quindi non c'è alcun mixaggio. –
Ti capisco, ma tieni a mente che sono nuovo di C in qualsiasi modo, e che apprendo il cacao si concentra su Objective-C. Tuttavia, Chipmunk è scritto in pura C. Quindi, ho già trovato un problema in cui le strutture non sono oggetti, anche se per un nuovo ragazzo, l'aspetto è lo stesso all'inizio. – gargantuan