後々自分でも使いたくなる時が来るような気がするので、メモ程度に書いておきます。
全体のコード
関数の全体のコードです。
// @return 最大値valueをもつKey
func maxDicKey(dic:[String:Int]) -> String{
//valueの最大値を取り出す
let max = dic.values.maxElement();
var maxKey:String = ""
//辞書の中身をひとつずつ見ていく
for (key,value) in dic{
if value == max{
print("dic key is \(key) , dic value is \(value)")
if maxKey == ""{
maxKey = key
}else{
print("同じ値の人がいます")
}
}
}
return maxKey
}
使う時はラベル等で
label.text = "\(maxDicKey(dic))が優勝"
解説?はいらないかもしれませんが少しだけ
辞書型のvalueの最大値の取得は
dic.values.maxElement();
でできます。
中身を1つずつ見ていく場合は
for (key,value) in dic{
}
でできます
この中で、valueの値と最大値の値が等しい時にそれを返すようにしています。
ただし、最大値をもつKeyが1つとは限らないので、複数のKeyを返すならば配列等を返り値にすれば良いと思います。
複数からランダムで1つ返す〜等もできます
-----------------ここからひとりごと-----------------
久しぶりの記事更新です。
Swiftに関する記事なんて本当にいつぶりだろうという感じですね…
次のアプリというのを結構前から考えていて、企画書っぽいものも一応作って見たのですが、ずっとSwiftで作るかcocos2d-xを使用してc++で書くかを迷っていまして、最近は本当にうーんうーんと悩みながらごろごろだらだら過ごしていました。
結局、cocos2d-xを用いて作っていこうかなぁと思っています。
cocos2d-xを使ったアプリ制作は初めてになりますし、1冊本で勉強したのもunityで雨アガリを作る前のことだったので、正直ほとんど覚えていません。
まずは勉強から、という感じです。
そのため今後はcocos2d-x系の記事が多くなるんじゃないかなぁと思います。
わりとグラフィック面が面倒なアプリを作ろうとしているので、今までで一番規模は大きくなるんじゃないかなと思います。ゲームというほどでもないですが、ゲームです。
もう少し更新頻度も上げられる用に頑張りたいです。それではでは。
Additional Notes追記
一応Swift4に
もっと上手いことできる気がするけど頑張れなかった。
とりあえず[String:Int]型限定ですが 参考になれば。
コメントはありません。
現在コメントフォームは工事中です。