stringWithFormat 访问错误

发布于 2024-11-30 23:32:58 字数 419 浏览 2 评论 0原文

任何人都可以解释为什么这段代码可以完美地工作:

int thumbnailPrefix = trunc([newGraph.dateCreated timeIntervalSinceReferenceDate]);

newGraph.thumbnailImageName = [NSString stringWithFormat:@"%d.%@",thumbnailPrefix,@"png"];

但是这段代码会导致错误访问错误?

newGraph.thumbnailImageName = [NSString stringWithFormat:@"%d.%@",trunc([newGraph.dateCreated timeIntervalSinceReferenceDate]),@"png"];

Can anyone explain why this code works perfectly:

int thumbnailPrefix = trunc([newGraph.dateCreated timeIntervalSinceReferenceDate]);

newGraph.thumbnailImageName = [NSString stringWithFormat:@"%d.%@",thumbnailPrefix,@"png"];

But this code causes a Bad Access error?

newGraph.thumbnailImageName = [NSString stringWithFormat:@"%d.%@",trunc([newGraph.dateCreated timeIntervalSinceReferenceDate]),@"png"];

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

装纯掩盖桑 2024-12-07 23:32:58

trunc 返回一个 double,而不是 int

double trunc(double x);

因此,在第一个代码块中,您将其转换为 int,并正确使用 %d 格式说明符。

在第二个中,它应该是 %f,或者前面有 (int)

newGraph.thumbnailImageName = [NSString stringWithFormat:@"%d.%@",(int)trunc([newGraph.dateCreated timeIntervalSinceReferenceDate]),@"png"];

trunc returns a double, not an int.

double trunc(double x);

So in the first code block you are converting it to an int, and correctly using the %d format specifier.

In the second, it should be an %f, or have (int) in front of it.

newGraph.thumbnailImageName = [NSString stringWithFormat:@"%d.%@",(int)trunc([newGraph.dateCreated timeIntervalSinceReferenceDate]),@"png"];
一百个冬季 2024-12-07 23:32:58

您是否尝试过对 trunk() 的返回进行类型转换,例如......

newGraph.thumbnailImageName = [NSString stringWithFormat:@"%d.%@",(int)trunc([newGraph.dateCreated timeIntervalSinceReferenceDate]),@"png"];

这是在黑暗中拍摄,但我希望 NSString 不知道函数 trunc 的返回类型。

Have you tried typecasting the return from trunk() like....

newGraph.thumbnailImageName = [NSString stringWithFormat:@"%d.%@",(int)trunc([newGraph.dateCreated timeIntervalSinceReferenceDate]),@"png"];

It's a shot in the dark, but I expect NSString doesn't know the return type for the function trunc.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文