连接Objective-C NSStrings

时间:2011-04-01 21:23:20

标签: iphone objective-c macos

我是Objective-C的新手,所以请耐心等待。这就是我连接我的网址的方式:

id url      = [NSURL URLWithString:@"http://blahblah.com/gradient.jpg"];
id image    = [[NSImage alloc] initWithContentsOfURL:url];
id tiff     = [image TIFFRepresentation];

NSString *docsDir = [NSHomeDirectory() stringByAppendingPathComponent:  @"Desktop"];
NSString *fileToWrite = @"/test.tiff";
NSString *fullPath = [docsDir stringByAppendingString:fileToWrite];

[tiff writeToFile:fullPath atomically:YES];

它有效,但看起来很草率。这是连接NSStrings的理想方式吗?

4 个答案:

答案 0 :(得分:3)

stringByAppendingString:stringWithFormat:几乎就是这样。

答案 1 :(得分:3)

您可以一次追加多个路径组件。 E.g:

NSString* fullPath = [NSHomeDirectory() stringByAppendingPathComponent:@"Desktop/test.tiff"];

您还可以在单​​个字符串中指定整个路径:

NSString* fullPath = [@"~/Desktop/test.tiff" stringByExpandingTildeInPath];

答案 2 :(得分:1)

你有没有看过NSMutableString

答案 3 :(得分:0)

一个常见的约定是使用[NSString stringWithFormat:...]但是它不执行路径追加(stringByAppendingPathComponent)。