Text 随机文本生成器(每次顺序相同)
嗨,我正在创建一个应用程序,当我有代码的时候按下一个按钮,它会生成随机文本,工作正常,但当我运行应用程序并按下按钮时,我想更改一些内容,它会显示: “好的,你好,你好,你好,你好,你好,你好,你好,你好,你好,你好,你好,你好” 这是前13次点击,也是我每次使用应用程序的顺序。基本上我不希望他们连续重复两次,而且我希望他们在启动应用程序时以不同的顺序启动 还有一件事,我希望能够写至少两行文字,但如何使用标签 以下是我的代码: h m @界面视图控制器1() @结束 @实现视图控制器1 -(i)随机的{ }Text 随机文本生成器(每次顺序相同),text,random,label,ios6,xcode4.5,Text,Random,Label,Ios6,Xcode4.5,嗨,我正在创建一个应用程序,当我有代码的时候按下一个按钮,它会生成随机文本,工作正常,但当我运行应用程序并按下按钮时,我想更改一些内容,它会显示: “好的,你好,你好,你好,你好,你好,你好,你好,你好,你好,你好,你好,你好” 这是前13次点击,也是我每次使用应用程序的顺序。基本上我不希望他们连续重复两次,而且我希望他们在启动应用程序时以不同的顺序启动 还有一件事,我希望能够写至少两行文字,但如何使用标签 以下是我的代码: h m @界面视图控制器1() @结束 @实现视图控制器1 -(i)随
谢谢:)使用函数
arc4random()
而不是random()
。您面临的问题是,函数rand
需要在调用它之前设置种子。这是rand
在后台使用的随机数生成器的起始值。当您不使用自己的种子时,它总是相同的默认值,因此您总是获得相同的随机值序列。使用arc4random
时,无需设置种子。有关更多信息,请参阅和
#包括
...
int text=arc4random()%5;
谢谢你知道我怎么能有两行文字吗??Callsrand((未签名)time(0))第一次调用rand()之前,代码>一次,且仅一次。每次运行程序时,rand()应该在不同的位置启动。@rossum抱歉,您能告诉我/告诉我是什么意思吗?请感谢您在启动代码中的某个地方调用了srand()
,以便在程序启动时调用它一次。如果可以的话,在main()
开头附近的某个地方。基本要求是只调用它一次,并且在第一次调用rand()
之前调用它。您向我们展示的代码似乎被多次调用,因此srand()。请使用main()
或等效的启动方法。对不起,我搞糊涂了,你能编辑我的代码并给我看一下吗?电话需要进入你尚未发布的部分代码中。
@interface ViewController1 : UIViewController {
IBOutlet UILabel *textview;
}
-(IBAction)random;
int text = rand() % 5;
switch (text) {
case 0:
textview.text = @"Hello";
break;
case 1:
textview.text = @"hi";
break;
case 2:
textview.text = @"alright";
break;
case 3:
textview.text = @"yoo";
break;
case 4:
textview.text = @"hiya";
break;
default:
break;
}
#include <stdlib.h>
...
int text = arc4random() % 5;
@interface ViewController1 ()
@end
@implementation ViewController1
-(IBAction)random {
// Pseudocode here
if (srand() not yet called) then
srand();
endif
// end Pseudocode
// You are better to put the call to srand() somewhere
// it will only ever be called once, rather than having
// to mess around with an if-statement.
int text = arc4random() % 50;
switch (text) {
case 0:
textview.text = @"My text here";
break;
default:
break;
}
}