【问题标题】:connecting three NSStrings连接三个 NSString
【发布时间】:2011-09-25 19:26:01
【问题描述】:

是的,我有三个 NSString,我想将它们组合成一个长的 nsstring(用作 URL)。我使用了 stringByAppedingString,它可以让我将其中的两个放在一起,但我不知道如何将三个放在一起。基本上我想要结束的是http://graph.facebook.com/517418970/picture?type=large,但我需要它们在三个单独的组件中,所以我可以更改 URl 中的数字

@implementation FacebookPicturesViewController

- (IBAction) nextImagePush {

    NSString *prefix = @"http://graph.facebook.com/";
    NSString *profileId = @"517418970";
    NSString *suffix = @"/picture?type=large";
    NSString *url = [prefix stringByAppendingString:suffix];
    UIImage *img = [UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:url]]];
    [imageView setImage:img];
    imageCount++;


    if (imageCount >= [imageArray count]){
        imageCount = 0;
    }
}

- (void) viewDidLoad {
    imageArray = [[NSArray alloc] initWithObjects:@"image1", @"image2", nil];
    imageCount = 0;
}

【问题讨论】:

    标签: objective-c nsstring nsurl


    【解决方案1】:

    您可以分两步完成:

    NSString* partialUrl= [prefix stringByAppendingString:profileID];
    NSString* fullUrl= [partialUrl stringByAppendingString:suffix];
    

    或者,您可以使用以下格式:

    NSString* url= [NSString stringWithFormat:@"%@%@%@", prefix, profileID, suffix];
    

    【讨论】:

    • 第二个 stringWithFormat:@"%@ 等工作完美,非常感谢:)
    • @HarryHall,干得好。使用投票系统将有助于确保您在以后提出问题时再次获得好的答案。
    • 我不推荐使用 -stringWithFormat: 当你只是附加字符串时。此处无需解析。
    【解决方案2】:

    当您事先不知道要组合多少个字符串时,作为一种通用解决方案,您可以将它们放在一个 NSArray 中并使用该数组将它们连接在一起。所以在这种情况下:

    NSArray *elementsInURL = [NSArray arrayWithObjects:prefix, profileID, suffix, nil];
    NSString *combined = [elementsInURL componentsJoinedByString:@""];
    

    【讨论】:

      【解决方案3】:

      你想要+ (id)stringWithFormat:(NSString *)format, …

      完整的文档是here

      【讨论】:

        【解决方案4】:

        我会这样处理连接:

        NSString *prefix = @"http://graph.facebook.com/";
        NSString *profileId = @"517418970";
        NSString *suffix = @"/picture?type=large";
        
        NSString *URL =  [[prefix stringByAppendingString:profileId] 
                                  stringByAppendingString:suffix];
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-11-06
          • 2014-02-24
          • 1970-01-01
          • 1970-01-01
          • 2016-12-20
          相关资源
          最近更新 更多