【问题标题】:Checking if a word is in database [closed]检查一个单词是否在数据库中[关闭]
【发布时间】:2012-05-10 10:12:39
【问题描述】:

我正在制作这个文字游戏,当您提交一个单词时,我希望检查该单词是否在我的“数据库”中,例如我已经设置了几个单词

word1: banana
word2: apple
word3: pineapple
word4: lemon

现在我可以通过代码做到这一点:

If (submitword isequalto banana){
//submitword
}
else if (submitword isequalto apple){
//submitword
}

else{
//give warning
}

问题是我得到了数千个单词,而“submitword”操作长达数百行,这会使我的代码变得很长。

有人知道更简单的方法吗?

【问题讨论】:

    标签: iphone objective-c ios xcode


    【解决方案1】:

    这取决于您使用的是哪种“数据库”。例如。如果您使用的是外部 API(就像许多当前的 word 应用程序一样),它可以为您决定它是否正确。然后,您可以使用 MySQL 或任何其他类型的 SQL 服务器,并使用 SQL 提出一些智能问题。

    我的想法是,您需要先写下您想做的事情,然后研究最好的方法,然后开始实现代码。设计第一原则!

    【讨论】:

    • 不,我不知道数据库的正确词很抱歉,目前这些词在我的代码中
    • 好吧...这听起来有点贵。至少你的话应该在一个外部文件中,比如plist。否则,如果您将它们放在 NSArray 中,则可以通过该数组进行搜索。 stackoverflow.com/questions/1853801/…
    • 好吧,我现在将它们放在一个随机词生成器中,该生成器基于视图加载部分,所以我认为它不会像这样工作,请查看您的链接,谢谢
    • 有没有说“或”,因为我使用“==”等于和“!=”不等于。有没有办法说如果'inputword'=='submitword1''or''submitword2'
    • 嗯,您想知道的是您的“数据库”中是否存在提交字,对吧?如果是,则不需要大的 if-case,只需要搜索数组以查看该单词是否存在于数组中。
    【解决方案2】:

    您可以编写一个函数来检查单词是否有效,然后如果确定则提交。 为此,您也许可以将您的单词存储在某个列表中,这会将功能简化为单个列表查找

    【讨论】:

      【解决方案3】:

      我建议您在游戏开始之前将数据库中的单词列表提取到容器对象中(比如NSDictionary)并检查该列表中是否存在单词

      【讨论】:

        猜你喜欢
        • 2016-11-19
        • 1970-01-01
        • 1970-01-01
        • 2014-05-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-10-06
        • 2011-05-28
        相关资源
        最近更新 更多