使用URL中的变量编写脚本的整数?

时间:2011-04-30 21:58:15

标签: iphone objective-c ios ios4

我很抱歉,因为之前可能已经提出过这个问题,但我无法找到适合我情况的答案。 我是Objective-C的新手,我并不完全知情,所以我事先道歉,因为我觉得我并不惊人;)

所以,我有一个webView,而且每天都会更改网址。例如:4月30日,网址为http://example.com/mylinkApr30 使用日期,我做了一个变量(对不起,如果我的术语关闭:\),并且url以%d结尾,一切正常,除非是月份。这些月份不是典型的MM形式,它们是缩写文本,带有月份名称的三个首字母。例如:1月,2月,3月,4月等。

我有月整数工作,它写为1,2,3等。 我该如何改变到1月,2月,3月?

我可以采取不同的方式吗? 我可以确认这些日子有效,我已经测试了它有1个变量,并在链接末尾使用了Apr。

这是我的代码,因此您更容易理解我的要求。

- (void)viewDidLoad
{    
[super viewDidLoad];
self.navigationItem.title = @"Balmoral";
NSCalendar *calendar= [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSCalendarUnit unitFlags = NSYearCalendarUnit | NSMonthCalendarUnit |  
NSDayCalendarUnit | NSHourCalendarUnit | NSMinuteCalendarUnit | 
NSSecondCalendarUnit;
NSDate *date = [NSDate date];
NSDateComponents *dateComponents = [calendar components:unitFlags fromDate:date];
//NSInteger year = [dateComponents year];
NSInteger month = [dateComponents month];
NSInteger day = [dateComponents day];
//NSInteger hour = [dateComponents hour];
//NSInteger minute = [dateComponents minute];
//NSInteger second = [dateComponents second]; 

NSString *baseURLStr = @"http://wwww.WebsiteHere.com/Apr";
NSURL *url = [NSURL URLWithString:[baseURLStr stringByAppendingFormat:@"%d.ashx", day]];
[webView loadRequest:[NSURLRequest requestWithURL:url]];
[NSCalendar release];
}

3 个答案:

答案 0 :(得分:2)

查看NSDateFormatter课程,例如:

int month = 3;

NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"MM"];
NSDate *date = [formatter dateFromString:[NSString stringWithFormat:@"%02i", month]];
[formatter setDateFormat:@"MMM"];
NSString *monthString = [formatter stringFromDate:date];

NSLog(@"MONTH STRING %@", monthString);

monthString应为“Mar”

答案 1 :(得分:0)

,由于您没有使用标准MM格式,因此无法使用NSDateFormatter。所有12个月都需要一个开关。

NSString * monthString = nil;
switch (month)
{
case 1:
monthString = @"Jan";
break;
case 2:
...
}

然后修改自己的代码:

NSString *baseURLStr = @"http://wwww.WebsiteHere.com/";
NSURL *url = [NSURL URLWithString:[baseURLStr stringByAppendingFormat:@"%@%d.ashx", monthString, day]];

编辑: 瑞安是对的。他的解决方案更好。

答案 2 :(得分:0)

一种简单且可能天真的方法是使用所需文本的数组:

NSArray *months = [NSArray arrayWithObjects:@"Jan", @"Feb", nil];

这将允许您通过以下方式获取字符串:

NSString *monthString = [months objectAtIndex:month];