Objective c 返回字符串
我刚开始学习Objective-C,有一个(可能)非常非常基本的问题Objective c 返回字符串,objective-c,Objective C,我刚开始学习Objective-C,有一个(可能)非常非常基本的问题 int testf(int x){ NSDateFormatter *dateformatter=[[NSDateFormatter alloc] init]; [dateFormatter setDateFormat:@"dd.MM.yyyy"]; NSString *infstr=[dateFormatter stringFromDate:[[NSDate] dateByAddingTimeInte
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);
我目前有以下问题:我不知道如何从函数返回字符串。我甚至无法通过谷歌找到答案
前面提到的代码会导致一个警告“指针来自整数,不带强制转换”。我希望任何人都知道这个“问题”的解决方案,并愿意与我分享
提前感谢。您需要使用int创建一个NSString对象
NSString *testf(int x) {
return [NSString stringWithFormat:@"%i",x];
}
NSString *testString = testf(1);
只需将返回类型从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语句。+1尽管他的代码是一个函数,而不是一个方法(经过编辑的答案反映了这一点)。OP没有试图将int转换为字符串。@mkb他似乎在原始问题中。最初的testf函数只是返回了x。@ughoavgfhw是的,当我看到这个问题时,我被你的答案和投票结果弄糊涂了。所以在发布我的答案后,我看了OP的编辑。我们都给出了正确的答案,他只是在中间换了个问题。所以+1来自我!讽刺的是,对于这个答案,你的总分会比我高:)@theChrisKent不一定。你现在只落后我5分,而且因为你被认为是正确的,你更有可能被未来的观众(顺便说一句,我给你1分)投票。