【问题标题】:How do I place an __NSCFNumber in an NSString? [closed]如何在 NSString 中放置 __NSCFNumber? [关闭]
【发布时间】:2014-03-26 12:36:13
【问题描述】:

我有一个名为task_idNSNumber 变量。我想将NSNumber 变量放在NSString(发布请求)中。这是我尝试过的:

NSString *post = [NSString stringWithFormat:@"&task_id=%@", task_id];

和:

NSString *post = [NSString stringWithFormat:@"&task_id=%@", [NSString stringWithFormat:@"%@",task_id]];

由于某种原因,该字符串不包含 POST 请求的 task_id 值。如何将NSNumber 放入字符串中?

更新

task_id 根据此代码是一个 NSCFNumber:

NSLog(@"%@", [task_id class]);

非常感谢,

彼得

【问题讨论】:

  • 您收到什么错误?
  • post 得到什么?
  • 我得到一个空响应,这是意料之中的。当我在字符串中放置一个数字(硬编码)时,我得到了适当的响应。我没有得到 Objective-c 错误
  • 无论是 NSNumber 还是 NSCFNumber 都没有关系。请检查此链接以了解差异stackoverflow.com/questions/4357063/…
  • @PeterStuart:我没有要求回复。如果您需要帮助找出实际问题,请显示task_idpost 的NSLog 输出,以及您如何发送请求的代码。

标签: ios objective-c nsstring nsnumber


【解决方案1】:

它应该可以工作。但无论如何,如果 task-id is just an int

NSString *post = [NSString stringWithFormat:@"&task_id=%d", task_id.intValue];

【讨论】:

  • 为什么它应该比原始代码更好?
  • 我说过,它应该可以工作,原因很明显。但是这种计划B。
  • “它应该可以工作”是一个有用的评论。我看不出为什么“B计划”应该更好地工作......
  • @MartinR 愿意解释“更好”吗?请。我是个瘦子。
  • 我的意思是:如果NSString *post = [NSString stringWithFormat:@"&task_id=%d", task_id.intValue]; 有效,那么原始代码也可以。没有理由用您建议的代码替换原始代码。
【解决方案2】:
NSNumber *myNumber = @12;
NSString *myString = [myNumber stringValue];
NSString *post = [NSString stringWithFormat:@"&task_id=%@", myString];

已经回答here

【讨论】:

  • 这个答案我已经试过了。
  • 为什么它应该比原始代码更好?顺便提一句。 [NSNumber stringValue] 无法编译。
  • 在他说NSNumber 的地方,假设你会为你的NSNumber 对象放入变量。
  • 检查我编辑的答案。希望这会有所帮助。
【解决方案3】:

感谢大家的努力。事实证明这不是问题,问题出在网络服务器上!

我误解了整个事情,

谢谢大家,

彼得

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-01
    • 2014-04-24
    • 1970-01-01
    • 2017-04-09
    相关资源
    最近更新 更多