gpt4 book ai didi

objective-c - %d 没有正确显示整数

转载 作者:行者123 更新时间:2023-12-03 17:29:24 24 4
gpt4 key购买 nike

当我尝试写作时

NSLog(@"%d", myObject.myId);

其中 myId 为 int,控制台给出一些高数字,如 70614496。当我使用 @"%@" 时,我收到异常 -[CFNumber respondsToSelector :]: 消息发送到已释放的实例 0x466c910。为什么会这样?

这是 myObject 的定义:

@interface myObject : NSObject {
int myId;
NSString *title;
}

@property(nonatomic) int myId;
@property(nonatomic, retain) NSString *title;

@end

@implementation myObject

@synthesize myId, title;

- (void)dealloc {
[title release];

[super dealloc];
}

@end

最佳答案

卡尔在尝试编译您的代码方面做得很好。关于 %@ 格式说明符的另一句话,因为您的问题似乎意味着一些困惑。

当您在 NSLog 格式中使用 %@ 时,您实际上是在发送参数 description消息,并打印结果字符串。如果myId是一个int而不是NSObject的实例,它不会响应描述消息。使用 %d 表示 int 值,使用 %@ 表示 NSNumber 实例。

关于objective-c - %d 没有正确显示整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1710549/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com