gpt4 book ai didi

iphone - 方法返回 0 而不是我分配给变量的数字

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:10:25 24 4
gpt4 key购买 nike

我正在尝试掌握 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]]];
}

最后一行设置标签显示0/15。但是,在我的模型中,我有以下代码(目前为“静态”):

-(double)generateRandomNumber
{
randomNumber = 1.34;
return randomNumber;
}

它不返回 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

此外,最后,我想让 generateRandomNumber 返回一个介于 0 和 15 之间的随机数。我该怎么做?像这样的简单行:

int x = arc4random() % 16;

为此工作?或者我是否必须以某种方式为它播种,以便在我运行应用程序时它不会总是返回相同的值?

提前致谢。

最佳答案

It doesn't return the 1.34 and I don't understand why it doesn't. Can someone clear this up?

几乎可以肯定,您还没有分配和初始化 myModel 对象。您可以将消息发送到 nil 而不会崩溃,但返回值将为 0。

arc4random() 不需要种子。

编辑

你的初始化代码看起来不错,但你没有调用 int,在你的 myBtnPressed: 方法中,你需要

[myLabel setText:[NSString stringWithFormat:@"%g / 15", [[self myModel] generateRandomNumber]]];

关于iphone - 方法返回 0 而不是我分配给变量的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6410619/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com