Ich habe den folgenden Code-Schnipsel:NSString * zu CFStringRef Ergebnisse in nutzlos char-Array
-(CFStringRef)setupFileName:(NSString*)_name :(NSString*)_extension
{
NSString* tmpName = [_name stringByAppendingString:_extension];
CFStringRef ref = (__bridge CFStringRef)tmpName;
return ref;
}
Als ich bei der return-Anweisung brechen, ref enthält die richtigen Daten, einen schönen String mit der Erweiterung. Aber wenn ich es wie folgt verwenden:
CFStringRef tickWav = [self setupFileName:_name :kTick];
Es ergibt sich eine nutzlose Zeichen Kette. Gibt es etwas, das meine Codierung beschädigt, wenn ich den richtigen Wert von der Funktion zurückgebe? Was kann ich tun?
Nicht auf Ihr Problem bezogen, aber ... Ich würde empfehlen, Ihre Methode mit allen Parametern zu benennen: '- (CFStringRef) setupFileName: (NSString *) _ Name mit Erweiterung: (NSString *) _ extension' und auch zu vermeiden '_' für diese Art von Var. Warum wird 'stringByAppendingString:' aufgerufen, wenn 'tmpName' zwischen Klammern gesetzt wird? – Larme
Es war in Klammern, weil die Besetzung zu CFStringRef ihre zuvor passiert .. Sie kennen eine Lösung für mein Problem? – bob