如何在Objective C中将参数附加到字符串?

时间:2014-07-07 08:04:45

标签: ios objective-c

我有这个方法,我需要连接参数,所以结果应该是。知道怎么做吗?

getTyreLabels?width=m125.00&aspect=25&rim=13.00&season=SU&time=269742091

- (NSURL *)getTyreLabels:(NSString*)width :(NSInteger*)aspect : (NSInteger*)rim : (NSString*)season : (NSString*)pattern : (NSInteger*)time;
{
    return [[self getBaseUrl] URLByAppendingPathComponent:@"getTyreLabels"];
}

2 个答案:

答案 0 :(得分:1)

我猜你在开头放的字符串是所需的输出。

在这种情况下,您的方法应该类似......

- (NSString *)parameterStringWithWidth:(NSString *)width
                                aspect:(NSInteger)aspect
                                   rim:(NSInteger)rim
                                season:(NSString *)season
                               pattern:(NSString *)pattern
                                  time:(NSInteger)time
{
    return [NSString stringWithFormat:@"getTyreLabels?width=m%@&aspect=%ld&rim=%ld&season=%@&time=%ld", width, (long)aspect, (long)rim, season, (long)time];
}

这将返回字符串。不是网址,但你应该能够从中得到重点。

请注意方法名称的构造方式。它使从其他地方调用它变得更容易,因为你可以看到每个参数的相关内容。

NSString *theString = [self parameterStringWithWidth:@"125.00" aspect:25 rim:13 season:@"SU" pattern:@"" time:269742091];

这将导致theString成为您在问题中输入的值。

答案 1 :(得分:0)

你可能想要这样的东西 -

- (NSURL *)getTyreLabelsWithWidth:(NSString*)width
                        andAspect:(NSInteger)aspect
                           andRim:(NSInteger)rim
                        andSeason:(NSString *)season 
                       andPattern:(NSString*)pattern
                          andTime:(NSInteger)time
{
    NSString *stringToAppend = [NSString stringWithFormat@"getTyreLabels?width=%@&aspect=%d&rim=%d&season=%d&time=%d", width, aspect, rim, season, time]; 

 return [[self getBaseUrl] URLByAppendingPathComponent: stringToAppend];
}