Poiché non riesco a trovare alcuna documentazione su questo argomento, è possibile creare la propria "classe" Core Foundation? (classi come in quelle che possono essere utilizzate con CFRetain() e CFRelease) Voglio sfruttare le capacità polimorfiche e l'ispezione dell'oggetto incorporate in Core Foundation senza il sovraccarico di Objective-C o la creazione della mia gerarchia di oggetti.Creazione di classi Core Foundation
risposta
Essere avvisati: Credo che Core Foundation non abbia vera eredità senza Objective-C caricato, e con Objective-C caricato si otterranno comunque i rallentamenti associati (minori).
Probabilmente non ci sarà alcuna documentazione su di esso, ma potrebbe essere possibile. Di certo non sarà pulito. Prova a sfogliare lo CF-Lite source code (il link è per Mac OS X 10.5.7) per avere un'idea dell'implementazione del framework.
Si noti che se il sovraccarico di Objective-C è il sovraccarico dell'invocazione del messaggio, esistono molti modi per ottimizzarlo (ad esempio, il metodo -instanceMethodForSelector:
). È molto probabile che passi più tempo a cercare di introdurti nel framework della Core Foundation piuttosto che provare a ottimizzare il codice Objective-C per renderlo operativo.
Tecnicamente, non ci sono classi Core Foundation. Sono tipi opachi.
- 1. Ponticello ARC/GC e Core Foundation dual mode
- 2. Creazione di Team Foundation Services e test in Azure?
- 3. Automazione della creazione dell'area di lavoro in Team Foundation Server
- 4. Creazione classi Java con JaxB
- 5. C++, creazione di classi in runtime
- 6. Creazione di classi dinamicamente in matlab
- 7. Creazione di classi C# a runtime
- 8. Ontologia: OWL - Creazione di connessioni tra classi
- 9. Team Foundation Server Creazione con codifica protetta da password fallita
- 10. Come utilizzare System.Windows.Forms nella libreria di classi .NET Core
- 11. Accesso dalla libreria di classi a appsetting.json in Asp.net-core
- 12. Visual Studio - Crea targeting per librerie di classi .Net Core
- 13. non può aggiungere riferimento a .net core Libreria di classi asp.net core rc2
- 14. Objective-c: Perché le variabili della Core Foundation necessitano di rilascio esplicito in ARC?
- 15. Quali funzioni di supporto per Cocoa/Core Foundation desiderate che sapeste circa 2 anni fa?
- 16. Creazione di un overlay trasparente animatable con strati Core Animation
- 17. Solr (4.4+) posizione solrconfig.xml durante la creazione di core
- 18. Creazione di un elemento in Tridion 2011 tramite Core Service
- 19. Utilizzo di DLL di Team Foundation Server come riferimento nella libreria di classi
- 20. Workflow Foundation for Scheduled Process
- 21. Mappatura molti-a-uno Python (creazione di classi di equivalenza)
- 22. Creazione di diagrammi di classi UML in NetBeans 7.1.1
- 23. Modello di fabbrica per la creazione di molte classi derivate
- 24. Creazione di librerie di classi portatili Il progetto nel server di creazione non riesce
- 25. Devo usare __bridge o __bridge_retained se sto collegando un oggetto autoreleased a Core Foundation?
- 26. Errore 6 core js di base
- 27. È possibile utilizzare uno strumento con classi java javassist core? Classi caricate dal bootloader del bootstrap
- 28. Vantaggi dell'utilizzo di Core Graphics
- 29. Creazione e distruzione di classi AVFoundation su code in background?
- 30. Creazione di un singolo modulo CommonJS da diverse classi TypeScript
Grazie. Ho esaminato il pacchetto CF-lite e sembra che in pratica non sia possibile creare i propri tipi di CF senza utilizzare funzioni private/non documentate :( Sembra che finirò per usare il buon vecchio caching Obj-C e IMP. –
Se proprio ne hai bisogno, puoi scrivere wrapper statici in stile C per oggetti Objective-C tramite il caching 'IMP' e l'accesso diretto di ivar ... diamine, sono abbastanza sicuro che in un ambiente non GC puoi anche eseguire il rollout della tua allocazione . –