2012-01-03 24 views
0

我有幾個UITextField s,我的應用程序的原理是將它們添加在一起。用戶可以在UITextField中輸入數字或單詞。我沒有計算數字的問題,它是用單詞計算的。添加數字和字符串(來自UITextFields的數據)

我的問題是:如果讓我們說用戶鍵入「mvg」,並且我希望該單詞的值爲20,那我該如何讓Xcode註冊該值並用它來計算?

+0

對不起,但我不真的讓你的問題。你說你用文字計算,但是你必須做一個從「真正的語言」到一個正常的數字的轉換,並且(如果我正確地理解了你的問題),你問如何將數字20與「mvg」分開,但如果我正確的比你已經做到了;) – 2012-01-03 20:45:20

+0

不是你的問題的答案,但有關確定你的'UITextField'的值是否是一個數字的信息看看這個[問題](http://stackoverflow.com/問題/ 7349316 /如果一個字符串是一個數字與nsscanner) – 2012-01-03 20:46:48

+0

@ DennisS。我知道這個問題有點模糊,但你理解正確。只要你輸入數字而不是單詞,計算就是正確的。但我希望當用戶輸入「mvg」時,應用程序會將該單詞翻譯爲數字20,並且計算結果仍然正確。 – Pasod 2012-01-03 21:14:28

回答

0

我希望你會說「用戶輸入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的對象你,你可以用它來計算。

+0

這就是我正在尋找的東西!我對你的回答感到非常滿意,我不想再次問你我該把(a)放在哪裏。我對此很新,我正在閱讀幾本客觀的c書。如果我想繼續字典,那麼我應該讓代碼更長一些; [NSNumber numberWithInt:15],@「vg」,[NSNumber numberWithInt:10],@「g」,[NSNumber numberWithInt:nil],@「ig」,就像您所做的一樣,具體取決於我想要的單詞數量有。 :) – Pasod 2012-01-03 21:20:23

+0

是的。如果您的文字數量超過幾十個,您可能需要考慮使用實際的CoreData數據庫。但希望它不會來。聽起來你現在正走在正確的軌道上。祝你好運! – 2012-01-03 21:41:31

+0

我很抱歉,但我無法設法讓它工作:(當我運行應用程序時,它仍然出現,因爲當我輸入我的單詞時,並且當我查看代碼時它說「未使用的變量」 ?任何想法,我輸入: 的NSDictionary *字典= [[NSDictionary的頁頭] initWithObjectsAndKeys: [NSNumber的numberWithInt:20],@ 「MVG」, [NSNumber的numberWithInt:15,@ 「VG」, [ NSNumber numberWithInt:10],@「g」,nil]; – Pasod 2012-01-04 12:26:12

1

簡答:Xcode不會。你的程序必須訪問文本字段,它負責查找那裏的任何單詞以確定它的含義(這可能與使用字典一樣簡單)。

+0

好吧,明白了,我會試着製作一本能將我的文字翻譯成數字的詞典。欣賞你的答案! :) – Pasod 2012-01-03 21:15:43