соединяющий три строки NSS - PullRequest
       21

соединяющий три строки NSS

0 голосов
/ 25 сентября 2011

Правильно, у меня есть три строки NSS, которые я хочу собрать, чтобы создать одну длинную строку (для использования в качестве 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;
}

Ответы [ 4 ]

4 голосов
/ 25 сентября 2011

Вы можете сделать это в два этапа:

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

В качестве альтернативы вы можете использовать формат:

NSString* url= [NSString stringWithFormat:@"%@%@%@", prefix, profileID, suffix];
1 голос
/ 26 сентября 2011

В качестве общего решения, когда вы заранее не знаете, сколько строк вам нужно объединить, вы можете вставить их в NSArray и использовать массив для их объединения.Так что в этом случае:

NSArray *elementsInURL = [NSArray arrayWithObjects:prefix, profileID, suffix, nil];
NSString *combined = [elementsInURL componentsJoinedByString:@""];
0 голосов
/ 26 сентября 2011

Я бы обработал конкатенацию так:

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

NSString *URL =  [[prefix stringByAppendingString:profileId] 
                          stringByAppendingString:suffix];
0 голосов
/ 25 сентября 2011

Вы хотите + (id)stringWithFormat:(NSString *)format, …

Полные документы здесь

...