Y a-t-il un moyen d'initialiser Nstring à NsmutableString? et aussi l'ordre inverse?
-(void)st:(NSString *)st { NSMutableString str = st; // gives warning.. NSLog(@"string: %@", str); }
4 Réponses :
Vous pouvez définir une nsmutableString sur une nstring, mais pas l'inverse
NSMutableString *mStr = [str mutableCopy];
NSString *someImmutableString = @"something"; NSMutableString *mutableString = [someImmutableString mutableCopy]; Important! mutableCopy returns an object that you own, so you must either release or autorelease it.
nsstring code> est une représentation immuable (ou une vue réadonnée au pire). Donc, vous auriez besoin d'être soit envoyé à un
nsmutableString code> si vous savez qu'il est mutable ou crée une copie mutable:
-(void)st:(NSString *)st
{
NSMutableString *str = [[st mutableCopy] autorelease];
NSLog(@"string: %@", str);
}
Je ne sais pas si cela fonctionnera comment cela se passe, mais le nsmutableString devrait être un pointeur NsmutableString * str = [[ST MutableCopy] Autoréleuillet];
Pour les utilisateurs SWIFT, les travaux suivants dans XCode 7. P>
var str : String = "Regular string" var mutableStr : NSMutableString = NSMutableString(string: str)