gpt4 book ai didi

objective-c - 将 NSNumber 转换为 int 时遇到问题

转载 作者:行者123 更新时间:2023-12-03 16:49:01 25 4
gpt4 key购买 nike

很抱歉问这个愚蠢的问题。我正在尝试学习 objc,但无法在 2 个 int 值之间进行简单的求和...实际上问题出在求和之前。

我有一个对象,它有一个定义为 NSNumber 的实例变量,并将其定义为属性,如下所示:

@interface MyObj : NSObject {
NSNumber *count;
}
@property (readwrite, assign) NSNumber *count;
@end

@implementation MyObj
@synthetize count;
@end

然后我有一个将使用 MyObj 的类:

- (void)total:(MyObj *)mobj {
int count = [mobj.count intValue];

NSLog(@"%@", mobj.count);
NSLog(@"%@", count);

int total = 10 + count;
NSLog(@"%@", total);
}

第一个 NSLog 很好地打印了 mobj.count(假设是 5),但第二个 NSLog 抛出了 EXC_BAD_ACCESS。当然,该程序永远不会达到总和。

那么,我做错了什么?我试图根据此将其转换为 int post .

TIA,

鲍勃

最佳答案

说明符%@用于打印Obj-C对象,它要求对象的-description。代码中的 count 是一个 int。使用 %i 表示 int。查看NSLog() Specifiers .

关于objective-c - 将 NSNumber 转换为 int 时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3129526/

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