【问题标题】:Add numbers and strings (data from UITextFields)添加数字和字符串(来自 UITextFields 的数据)
【发布时间】:2012-01-03 20:39:19
【问题描述】:

我有几个UITextFields,我的应用程序的原理是将它们加在一起。用户可以在UITextField 中输入数字或单词。我对数字计算没有问题,它是用单词计算的。

我的问题是:如果假设用户输入“mvg”,并且我希望该词的值是 20,我怎样才能让 Xcode 注册该值并用它来计算?

【问题讨论】:

  • 对不起,我没有真正明白你的问题。你说你用单词计算,但是你必须从“真实语言”转换为普通数字,并且(如果我正确理解你的问题)你问如何将“mvg”与数字 20 相关联,但如果我是比你已经做过的正确;)
  • 不是您问题的答案,而是有关确定您的 UITextField 的值是否为数字的信息,请参阅此 question
  • @DennisS。我知道这个问题有点模糊,但你理解正确。只要您输入数字而不是单词,计算就是正确的。但我希望当用户输入“mvg”时,应用程序会将这个词翻译成数字 20,并且计算结果仍然正确。

标签: variables uitextfield


【解决方案1】:

简短的回答:Xcode 不会。您的程序必须访问文本字段,并负责查找其中的任何单词以确定其含义(这可能像使用字典一样简单)。

【讨论】:

  • 好的,明白了,我会尝试制作一本字典,将我的话翻译成数字。感谢您的回答! :)
【解决方案2】:

我希望你会说“用户在文本字段中输入 20,我希望值为 20”。

但是您所描述的内容听起来像是特定于应用程序的内容。

我建议做的是为它们的等价物构建一个单词字典(作为键)和 NSNumbers(对象)。如果您做的不仅仅是数字,您可能希望存储自定义的 Objective C 对象作为关键字。

类似:

NSDictionary * myPhraseToNumberDictionary = 
    [[NSDictionary alloc] initWithObjectsAndKeys: [NSNumber numberWithInt: 20], @"mvg", [NSNumber numberWithInt: 40], @"dmvg", [NSNumber numberWithInt: 40], @"tmvg", nil]

因此,当用户输入mvg,解析文本字段并针对字典中的每个关键字命中时,您将获得一个包含预期数字的 NSNumber 对象,然后您可以使用该对象进行计算.

【讨论】:

  • 这正是我要找的!我对你的回答非常满意,我不想再打扰你问我应该把它放在哪里(a)。我对此很陌生,我正在阅读几本客观 c 书籍。如果我想继续字典,我应该像这样让代码更长吗? [NSNumber numberWithInt: 15], @"vg", [NSNumber numberWithInt: 10], @"g",[NSNumber numberWithInt: nil], @"ig", 和你一样吗?,取决于我想要多少字. :)
  • 是的。如果您的单词超过几十个,您可能需要考虑使用实际的 CoreData 数据库。但希望它不会到那个地步。听起来你现在走在正确的轨道上。祝你好运!
  • 很抱歉,我无法让它工作 :( 当我运行应用程序时,当我输入我的文字时,它仍然显示为空,当我查看代码它说“未使用的变量”。任何想法?我输入:NSDictionary * dict = [[NSDictionary alloc] initWithObjectsAndKeys:[NSNumber numberWithInt:20],@“mvg”,[NSNumber numberWithInt:15],@“vg”, [NSNumber numberWithInt: 10], @"g", nil];
  • 这听起来像是一个单独的问题,你可以问。我猜你的实现中缺少一些东西,所以当你发布你的新问题时,也发布一些代码! :-)
  • 哎呀,我的错 :) 我也是这个网站的新手,我不能像你那样把它放在一个花哨的灰色盒子里。但是,无论如何,在我的@implementation 下,我写了 NSDictionary * dict = [[NSDictionary alloc] initWithObjectsAndKeys: [NSNumber numberWithInt: 20], @"mvg", [NSNumber numberWithInt: 15], @"vg", [NSNumber numberWithInt: 10],@"g",无];
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-07-23
  • 1970-01-01
  • 1970-01-01
  • 2019-02-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多