cab*_*ret 2 iphone random objective-c ios
我正在尝试降低iOS编程的基础知识.当我点击按钮时,我有一个显示随机数的应用程序..至少,这就是我想要做的.但是,它似乎没有成功.
我有以下基本方法,应该将文本设置myLabel
为返回值generateRandomNumber
.但是,它总是返回0.我认为我在这里使用的语法是正确的,因为它适用于注释部分:
-(IBAction)myBtnPressed:(UIButton *)sender
{
//[myLabel setText:@"test"];
//[myLabel setText:[NSString stringWithFormat:@"%g / 15", 3.14]];
[myLabel setText:[NSString stringWithFormat:@"%g / 15", [myModel generateRandomNumber]]];
}
Run Code Online (Sandbox Code Playgroud)
最后一行设置要显示的标签0/15
.但是,在我的模型中,我有以下代码(现在为'static'):
-(double)generateRandomNumber
{
randomNumber = 1.34;
return randomNumber;
}
Run Code Online (Sandbox Code Playgroud)
它没有返回1.34,我不明白为什么它没有.有人可以解决这个问题吗?
更新 这是我的viewcontroller.m文件的代码:
#import "myViewController.h"
@implementation myViewController
-(MyModel *)myModel
{
if (! myModel) {
myModel = [[MyModel alloc] init];
}
return myModel;
}
-(IBAction)myBtnPressed:(UIButton *)sender
{
[myLabel setText:[NSString stringWithFormat:@"%g / 15", [myModel generateRandomNumber]]];
}
@end
Run Code Online (Sandbox Code Playgroud)
另外,最后,我想generateRandomNumber
在0到15之间返回一个随机数.我该怎么做?会像一条简单的线路:
int x = arc4random() % 16;
为此工作?或者我是否必须以某种方式播种它,因此在运行应用程序时它并不总是返回相同的值?
提前致谢.
它没有返回1.34,我不明白为什么它没有.有人可以解决这个问题吗?
几乎可以肯定,您尚未分配和初始化myModel
对象.您可以发送消息而nil
不会崩溃,但返回值将为0.
arc4random()
不需要种子.
编辑
您的初始化代码看起来没问题myBtnPressed:
,但您不需要在方法中调用int
[myLabel setText:[NSString stringWithFormat:@"%g / 15", [[self myModel] generateRandomNumber]]];
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
79 次 |
最近记录: |