2012-01-06 78 views
1

我有两个textField用户键入一些单词。如何随机化两个UITextField变量?

然后,当按下按钮时,我希望单词随机化,然后用户显示随机结果。

我有这样的代码:

-(IBAction) randomInp{ 

    NSString *first = firstField.text; 
    NSString *second = secondField.text; 

    NSString *result = //here it should randomize the words 
    //Display randomized word 
    textview.text = //should display result 
} 

其中firstField和secondField分别是第一和第二UITextFields。然后我不知道如何继续!

我正在考虑设置切换条件。如果它是0,则返回*,如果它是1,则返回*秒。我对吗?

任何帮助表示赞赏

编辑

解决了!

如果有人需要:

-(IBAction) randomInp{ 

    NSString *first = firstField.text; 
    NSString *second = secondField.text; 
    int text = rand() % 2; 
    switch (text) { 
     case 0: 
      textview.text = first; 
      break; 
     case 1: 
      textview.text = second; 
      break; 
     default: 
      break; 
    } 
} 

EDIT 2

答案是SSteve给了伟大的作品,太!对于任何人谁需要:

NSString *result = random() & 1 ? first : second; 
+0

您对随机词的含义是什么? – edo42 2012-01-06 17:13:49

回答

1

两个值之间选择,你可以使用random()和检查位的值:

NSString *result = random() & 1 ? first : second; 

将调用srandomdev()某处你的初始化代码,以避免每次程序运行时都有相同的值序列。您可能还需要#include <stdlib.h>

+0

谢谢你,我解决了编辑邮件的方式! – Phillip 2012-01-06 17:16:44

+0

两个注意事项:1)'random()'给出比rand()更好的随机位序列,但是因为你没有在做密码学的东西,所以可能并不重要。 2)测试比'%2'快很多,但是由于您正在以用户输入的速度工作,可能无关紧要。但请记住这些以备将来之用。 – SSteve 2012-01-06 17:21:35

+0

当然,谢谢!我可能会尝试使用你的代码片段,并检查使用哪个更好。谢谢btw! :) – Phillip 2012-01-06 17:24:10