在 Swift 中收集和随机化数据

布拉克·普萨特

我正在使用下面的函数随机化我的数据(使用 3 个不同的数组)。

func randomCharacter() -> String {

            let randomNumber = GKRandomSource.sharedRandom().nextInt(upperBound: characters.count)

            characterImageView.image = UIImage(named: characterImages[randomNumber])

            return characters[randomNumber]

        }

数组可以在下面看到(我知道这可能不是它的最佳用途,但这是我正在努力学习的东西)

let characters = ["Zoolog Xander"]
let characterImages = ["Zoolog Xander"]
let characterDetails = ["Knows animals well, runs like a horse, eats a hamburger in 10 seconds and smells like a cow"]

请在此处查看包含 characterLabel、ImageView 和 characterDetailLabel 的视图。

除了 characterDetail 之外,它的方式很好,因为当您随机化内容 characterLabel 和 ImageView 匹配时,因为它们使用相同的字符串而不是细节,因为它具有不同的内容。

我计划拥有一个可以随机化并包含所有相关数据的数据集。

我尝试将它们放入以下格式并获得对它的引用,但无法对其进行随机化。

let storyMakerCharacters = [
     ["character":"Zoolog Xander",
      "characterImage":"Zoolog Xander",
      "characterDetail":"Knows animals well, runs like a horse, eats a hamburger in 10 seconds and smells like a cow",
     ]
]

当我尝试使用并随机化它时,randomCharacter 函数确实返回了一个错误,内容如下:无法将 [[String:String]] 下标到 Int。

我想从您那里听到的只是在以我想要的方式使用数组方面为我指出正确的方向,或者向我展示我在第二种方法中缺少的位置/内容。或者,如果您甚至对这种情况有更好的解决方案,那就更好了。


我按照建议更新了代码,但得到“无法将'字符'类型的返回表达式转换为'字符串'类型

return characterArray[randomNumber]

这工作得很好。唯一缺少的部分是 imageView。Title 和 detailText 完全随机化。

func randomCharacter() -> Character {

            let randomNumber = GKRandomSource.sharedRandom().nextInt(upperBound: characterArray.count)

            //characterImageView.image = UIImage(named: "\(randomCharacter().characterImageString)")

            return characterArray[randomNumber]

}

我可以很好地获得 characterName 和 characterDetailText 的值,但不能获得 imageView。它不会出现在视图中并随机化。

characterName.text = randomCharacter().character
characterDetailText.text = randomCharacter().characterDetail
characterImageView.image = UIImage(named: "\(randomCharacter().characterImageString)")

ImageView 现在确实出现了,因为我必须在结构中将 characterImageString 更改为 UIImage

struct Character {
    var character: String
    var characterImage: UIImage
    var characterDetail: String
}

然后我编辑了我的数组以反映这一点:

var characterArray = [Character(character: "My character", characterImage: UIImage(named:"My character")!, characterDetail: "Knows animals well..."),

最后要解决的一件事是,当我随机化数据时,我会得到不同的字符名称、图像和字符细节。我应该得到一个数据集,这样的角色名称是 Burak,图像应该是与角色名称和细节相关联的图像。

这就是我在motionEnded 时调用数据的方式。它似乎有什么问题。任何想法?

characterName.text = randomCharacter().character
characterDetailTextTrial.text = randomCharacter().characterDetail
characterImageView.image = randomCharacter().characterImage
埃尔霍伊

你可以做一个结构

Struct Character {
    var character: String
    var characterImageString: String
    var characterDetail: String
}

然后用不同的字符初始化一个数组

var characterArray = [Character(character: "Zoolog Xander", characterImageString: "characterImageString", characterDetail: "some detail here."),
 Character(......),
 Character(......)]

现在你可以用你的随机数下标你的 characterArray

characterArray[randomNumber]

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

无重复地从数组中随机播放/随机化问题(SWIFT)

来自分类Dev

如何在Swift中将字符串中的字母大小写随机化?

来自分类Dev

对中的随机化和R中的排序

来自分类Dev

对中的随机化和R中的排序

来自分类Dev

PySpark:将数据框中的行随机化

来自分类Dev

如何使R中的数据随机化更快?

来自分类Dev

随机化/改组熊猫数据框中的行

来自分类Dev

在R中按类别随机化数据

来自分类Dev

在R中按类别随机化数据

来自分类Dev

随机化数据框列表中的一列

来自分类Dev

在R中的两列之间随机化数据

来自分类Dev

在Excel中的某些参数内随机化数据?

来自分类Dev

创建小标题和随机化

来自分类Dev

动画显示和隐藏随机化

来自分类Dev

angularjs 随机化和匹配

来自分类Dev

在Python中随机化列表

来自分类Dev

在Django中再次随机化

来自分类Dev

随机化DataFrame列中的值

来自分类Dev

随机化脚本中的颜色

来自分类Dev

如何随机化列表中的函数?

来自分类Dev

Linux中的内存随机化

来自分类Dev

在iMacros中随机化URL编号

来自分类Dev

随机化数组中的某些元素

来自分类Dev

在JavaScript中随机化字母颜色

来自分类Dev

如何随机化参数中的对象?

来自分类Dev

随机化变量中的单词列表

来自分类Dev

随机化systemverilog中的对象队列

来自分类Dev

随机(随机化)每一行的数据

来自分类Dev

如何在Firebase中的ng-repeat中随机化数据