前提・実現したいこと
サンプルコードを動かしています。
カメラで撮影した写真を取り込む際の画像縮小処理の記述が理解できません。
該当のソースコード
swift
1guard let image = info[UIImagePickerController.InfoKey.originalImage] as? UIImage else { 2 assertionFailure() 3 return 4 } 5 //画像サイズ縮小 6 let maxSize: CGFloat = 1280 7 let imageMaxSize = max(image.size.width, image.size.height) 8 let scale = imageMaxSize > maxSize ? maxSize / imageMaxSize : 1 9 let resizeImg = image.scale(ratio: scale) 10 sourceImageView.image = resizeImg
こちらの8行目にあたる
let scale = imageMaxSize > maxSize ? maxSize / imageMaxSize : 1
がどういう処理をしているかが全く分かりません。
scale変数にはどのような数字が入るのでしょうか。
次の行のscale関数から、この変数はCGFloat型ということは分かります。
しかし、?や:がどう使われているかが理解できません。
(「? swift」で検索してもオプショナル変数の項目しか出ませんでした。。)
どうかご教授のほど、よろしくお願いします。
補足情報(FW/ツールのバージョンなど)
Xcode Version 11.4.1
Swift Version 5.0.1
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/06/12 01:06