Mit URLs spielen und sie inkrementell von anderen, erkannten URLs erstellen. In diesem Fall würde ich lieber NSURL-Objekte verwenden, anstatt NSStrings zu manipulieren, nur um die zusätzlichen Plausibilitätsprüfungen und URL-spezifischen Methoden aus der URL-Klasse zu erhalten.NSURL analog zu CFURLCreateCopyAppendingPathComponent?
Leider scheint es, dass es keine Möglichkeit gibt, folgendes zu erhalten miteinander zu verbinden, wie ich wünsche:
NSURL *base = [NSURL URLWithString:@"http://my.url/path"]; NSString *suffix = @"sub/path";
Ich möchte, dass sie anhängen erhalten:
http://my.url/path/sub/path
Aber das Beste kann ich scheinen zu erhalten, ist:
NSURL *final = [NSURL URLWithString:suffix relativeToURL:base];
der den Weg auf der Basis trimmt weg, was zu:
http://my.url/sub/path
Es gibt eine Funktion, die Corefoundation es tut:
CFURLRef CFURLCreateCopyAppendingPathComponent ( CFAllocatorRef allocator, CFURLRef url, CFStringRef pathComponent, Boolean isDirectory );
Welche gut zu funktionieren scheint, aber vor/zurück von ObjC C Prellen ist schrill und ärgerlich ... Ich würde lieber nur Strings manipulieren ... Fehle ich etwas? Anders als natürlich viel zu wählerisch. :)
Eine Sache, auf die Sie achten sollten, ist, wie CoreFoundation relative URLs behandelt (sowohl mit -baseURL als auch -relativeString). Sie möchten wahrscheinlich (CFURLRef) [self absoluteURL] stattdessen tun. –
Schön, das wird funktionieren. Vielen Dank. –
Guter Vorschlag Mike, machte ich die Anpassung –