Sto utilizzando NSMapTable
in un numero di punti in un progetto iOS 6 e vorrei poter utilizzare il nuovo stile di indicizzazione del dizionario per l'accesso agli oggetti. (NSMapTable
si comporta in gran parte come un NSMutableDictionary
, ma può essere configurato con varie opzioni di gestione della memoria per le chiavi e valori che esso memorizza più di fondo in this StackOverflow question..)Sintassi di sottoscrizione per NSMapTable in iOS 6
Le relazioni compilatore questo quando si tenta di utilizzare l'indicizzazione di sintassi su una NSMapTable
esempio:
Metodo previsto per la lettura dell'elemento del dizionario non trovato sull'oggetto di tipo 'NSMapTable *'.
Come posso usare una categoria per estendere NSMapTable
per consentire alla nuova NSDictionary
subscripting in stile?
IMO, questa non è una buona idea. 'NSMapTable' non ha sottoscrizioni per un motivo. Ad esempio, se hai un 'NSMapTable' usando' NSPointerFunctionsStrongMemory', perché dovresti conformarti a 'NSCopying'? Questa categoria storpia effettivamente 'NSMapTable' in una raccolta di tipo dizionario. –
@RudolfAdamkovic è possibile evitare l'uso di 'NSCopying' nelle dichiarazioni dei metodi di abbonamento. – k06a