我刚开始使用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);
我目前有以下问题:我不知道如何从函数返回一个字符串。我甚至无法通过谷歌解决这个问题。
上述代码会导致警告“没有强制转换的整数指针”。我希望有人确实知道这个“问题”的解决方案,并愿意与我分享。
提前致谢。
答案 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语句。