【问题标题】:converting nsinteger to nsnumber strange number将 nsinteger 转换为 nsnumber 奇怪的数字
【发布时间】:2013-06-25 12:18:04
【问题描述】:

我有一个接收nsinteger的方法,然后我需要将其转换为nsnumber,但我得到一个非常奇怪的数字,我的代码是:

+(TarefaMR *)GetTask:(NSInteger *)idTask {   
    NSLog(@"idTask %@",[NSNumber numberWithInteger:idTask]);
    NSInteger *tt=111;    
    NSLog(@"tt %@",[NSNumber numberWithInteger:tt]); 
}

我的 idtask 是 888,当 tt 变量工作时我得到一个 203513664,我得到 111,这可能是什么问题?

【问题讨论】:

  • +(TarefaMR *)GetTask:(NSInteger *)idTask 你的意思是+(TarefaMR *)GetTask:(NSInteger)idTask
  • NSInteger 是原始类型,是intlong long 的typedef。它不是一门课。你们为什么不阅读文档?
  • 没有解决问题,不断收到陌生号码
  • @user2069142 是的,如果您仔细查看它的含义,它确实如此。不要使用指向 NSInteger 的指针,否则你只会得到内存地址而不是值
  • 我删除了 * 并且我不断收到这个号码:174447376 而不是 888

标签: objective-c nsnumber nsinteger


【解决方案1】:

您不应使用NSInteger 作为参考。尝试从每次提及 NSInteger 后面删除 *。请记住,NSInteger 不是对象,它们只是命名“int”的一种很酷的方式:)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多