2014-05-15 23 views
7

voglio convertire NSString in NSAttributedString. Ma ho sempre a che fareconvertire NSString in NSAttributedString senza alloc init

NSAttributedString *useDict1=[[NSAttributedString alloc] initWithString:@"String"]; 

C'è un altro modo tale che non ho di destinare l'Dictionary ogni volta, ma solo dare la corda?

+0

Questa è l'ottimizzazione prematura - do not farlo. Scrivi il tuo codice nel modo più pulito, semplice e chiaro per capire che è possibile. Quindi se ci sono problemi usa gli strumenti del profiler per trovare i veri problemi di prestazioni e risolverli. – zaph

risposta

12

io suggerirei di creare una categoria a NSString con un metodo che converte in NSAttributedString e quindi utilizzare tale metodo di supporto in tutto il progetto.

Ti piace questa:

@interface NSString (AttributedStringCreation) 
    - (NSAttributedString *)attributedString; 
@end 

@implementation NSString (AttributedStringCreation) 

- (NSAttributedString *)attributedString { 
    return [[NSAttributedString alloc] initWithString:self]; 
} 

@end 
+0

grazie per la rapida answer.but ancora allocherà il memory.Actually ho 1000string dove voglio convertirli in attribuito string.so voglio che non devo alloc init ogni volta. –

+1

avrei ** non ** suggerire una categoria, che è solo inquinando una classe di fondazione di Apple. Basta scrivere una nuova classe, il metodo può essere un metodo di classe in modo che non si verifichi un'estensione di classe extra. – zaph

+1

Bentley convertibile, in bianco, posso avere? Oggi consegnato. Aspettami lo farò. Ma sul serio dietro le quinte si verificano seriamente delle istanze, non sono un problema. Sono l'unico modo per creare una classe, – zaph

Problemi correlati