2011-09-25 57 views
0

對,我有三個NSString,我想放在一起做一個長的nsstring(用作URL)。我已經使用了stringByAppedingString,它讓我把兩個放在一起,但我不知道如何把三個放在一起。我想落得基本上是什麼http://graph.facebook.com/517418970/picture?type=large但我需要他們在三個不同的組成部分,所以我可以在連接三個NSStrings

@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

您提供的網址更改號碼可以分兩步完成:

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

或者,您可以使用格式:

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

第二個stringWithFormat:@「%@等非常完美非常感謝你:) –

+0

@HarryHall,唐忘了提出正確的答案並將其標記爲已接受! –

+0

@HarryHall,很棒的工作。使用投票系統將有助於確保您在將來提出問題時再次獲得良好的答案 –

0

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

全部文檔是here

1

作爲一種通用的解決方案,當您不知道提前知道需要組合多少個字符串時,可以將它們粘貼到一個NSArray中,並使用該數組將它們連接在一起。因此,在這種情況下:

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

我會處理這樣的串聯:

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

NSString *URL = [[prefix stringByAppendingString:profileId] 
          stringByAppendingString:suffix];