返回一个字符串

时间:2011-03-11 21:52:44

标签: objective-c

我刚开始使用Objective-C并且有一个(可能)非常非常基本的问题/问题。

int testf(int x){
    NSDateFormatter *dateformatter=[[NSDateFormatter alloc] init];
    [dateFormatter setDateFormat:@"dd.MM.yyyy"];
    NSString *infstr=[dateFormatter stringFromDate:[[NSDate] dateByAddingTimeInterval:(60*x)];
    return infstr;
}
NSString *testString=testf(1);

我目前有以下问题:我不知道如何从函数返回一个字符串。我甚至无法通过谷歌解决这个问题。

上述代码会导致警告“没有强制转换的整数指针”。我希望有人确实知道这个“问题”的解决方案,并愿意与我分享。

提前致谢。

2 个答案:

答案 0 :(得分:5)

您需要使用int。

创建NSString对象
NSString *testf(int x) {
    return [NSString stringWithFormat:@"%i",x];
}

NSString *testString = testf(1);

答案 1 :(得分:3)

只需将返回类型从int更改为NSString指针,如下所示:

NSString* testf(int x){
    NSDateFormatter *dateformatter=[[NSDateFormatter alloc] init];
    [dateFormatter setDateFormat:@"dd.MM.yyyy"];
    NSString *infstr=[dateFormatter stringFromDate:[NSDate dateByAddingTimeInterval:(60*x)]];
    [dateFormatter release];
    return infstr;
}
NSString *testString=testf(1);

你的dateFormatter也在泄漏,所以添加如上所示的release语句。