2017-01-04 2 views
-2

J'essaie de convertir NSString en NSArray de caractères par Je n'ai pas trouvé un moyen de le faire.Convertir NSString en NSArray de caractères

Voici mon code:

NSString *one = @"abc"; 
const char *charOne= [one UTF8String]; 

Mais si je tente de convertir NSArray:

NSArray *arrayOne = [[NSArray alloc] initWithArray:(NSArray*)charOne]; 

Je reçois cette erreur: Cast de type pointeur non-Objective-C const char * à NSArray est rejetée dans ARC

Ma question aux gars, comment puis-je convertir NSString à NSArray de caractères?

Je vais vraiment apprécier votre aide

+0

préciser ce que vous voulez dans le tableau. Voulez-vous un tableau de 'unichar'? Un tableau de 'NSString' représentant chacun un seul caractère? Notez que certains caractères Unicode ne rentrent pas dans 'unichar'. – rmaddy

+0

Je pense que cette réponse vous aide: http://stackoverflow.com/questions/25501898/how-to-convert-nsstring-to-nsarray –

+0

'NSArray' ne peut contenir que des objets,' const char * 'est loin de ça exigence ... – Cristik

Répondre

0

essayer cette

NSMutableArray *letterArray = [NSMutableArray array]; 
NSString *letters = @"ABCDEFक्"; 
[letters enumerateSubstringsInRange:NSMakeRange(0, [letters length]) 
            options:(NSStringEnumerationByComposedCharacterSequences) 
           usingBlock:^(NSString *substring, NSRange substringRange, NSRange enclosingRange, BOOL *stop) { 
      [letterArray addObject:substring]; 
     }]; 

de: NSString to NSArray