Swift3.1でtupleがエラーになった。
Swift3.1がリリースされましたね!
私もさっそくUpdateしたところ、いくつかエラーがでていました。
エラーメッセージをみると
Expression type '(hoge: Double)' is ambiguous without more context
とでているのですが、3.1からはtuple内の値が一つしかない場合は値に名前をつけれなくなったようですね。
(そもそも一つしかないんだから、変数名で表現しろよとか、一つしかないんだから、tupleじゃないじゃんという感じですが・・・)
直すには名前を削除すればいいようですね。
やはり昔書いたコードはおかしな部分があるので、定期的にリファクタリングしないとだめだなと思いました。
Swiftで画像を点滅させる方法2
年が明けてからだいぶ空いてしまいましたが、本年もよろしくお願いします。
前回の記事(相当前ですが・・・笑)で書いた画像を点滅させる方法ですが、その後UIBView.animateの引数にoptionsがあり、sが付いているので複数指定できるじゃん!と気付き、修正しました。 サンプルコードはUIImageViewですが、UIButton等でも同じようにいけるはずです。
class ViewController: UIViewController { @IBOutlet weak var imageView: UIImageView! override func viewDidLoad() { super.viewDidLoad() // アニメーションの開始 self.startAnimation() } private func startAnimation() { // 2秒かけて透明にし、完了したら2秒かけて元に戻す。 UIView.animate(withDuration: 2.0, delay: 0.0, options: [.repeat,.autoreverse], animations: { _ in self.imageView.alpha = 0.0 }, completion: nil) } @IBAction func pushStopButton(_ sender: AnyObject) { // ボタンが押されたらアニメーションを停止する。 imageView.layer.removeAllAnimations() } }
以前のコードよりだいぶスッキリ書けたと思います! やっぱコードは読みやすいのが一番ですよね。 同じような悩みに直面した方の助けになれば幸いです。
Swiftで画像を点滅させる方法
自作アプリの開発をしていた際に、画像を点滅させたかったのでやってみました。
最初はOptionsにrepeatを指定していたのですが、消えたあといきなりalpha=1.0に戻ってしまうので、以下のコードで実装しました。
class ViewController: UIViewController { @IBOutlet weak var imageView: UIImageView! private var _stopAnimation = false override func viewDidLoad() { super.viewDidLoad() // アニメーションの開始 self.startAnimation() } private func startAnimation() { if _stopAnimation { return } // 2秒かけて透明にし、完了したら2秒かけて元に戻す。 UIView.animate(withDuration: 2.0, delay: 0.0, animations: { _ in self.imageView.alpha = 0.0 }, completion: { _ in UIView.animate(withDuration: 2.0, delay: 0.0, animations: { _ in self.imageView.alpha = 1.0 }, completion: { _ in self.startAnimation() })}) } @IBAction func pushStopButton(_ sender: AnyObject) { // ボタンが押されたらアニメーションを停止する。 _stopAnimation = true } }
アニメーションを停止させたいのですが、うまいこと止まらなかったので、stopボタンが押されたら停止用の変数をtrueにしています。
何かいい方法はないものでしょうか・・・
Xcodeでよく使うショートカットまとめ
Xcode(8.0)でよく使うショートカット一覧をまとめてみました。
Xcode8.0からはドキュメンテーションの追加ができるようになっているようですね。
ビルド
Command + B
ビルドCommand + R
ラン
編集
Command + Ctrl + ←
前のカーソル位置へ戻るCommand + Ctrl + →
次のカーソル位置へ進むCommand + Ctrl + J
定義に飛ぶCommand + Shift + →
行の最後まで選択Shift + Option + →/←
単語区切りで選択Option + →/←
単語区切りで移動Command + F
ファイル内検索Command + Shift + F
workspace内検索Command + Shift + O
ファイル、メソッド等の横断検索Command + /
コメントアウトCommand + Control + E
スコープ内を変更Command + Option + /
ドキュメンテーションの追加
デバッグ
F6
ステップオーバーF7
ステップインF8
ステップアウト
最初の投稿
学んだ技術的なことをまとめるためにブログ作ってみました。
以後、よろしくお願いいたします。