Swiftで遊ぼう! - 852 - UserDefaultsクラスの書き換え
- Swiftで遊ぼう!の前書き-> Life-LOG OtherSide
- 初心者はここから!-> 50オヤジでもできるiOS開発
- 私の本業、オフィシャルなブログ-> Life-LOG
- Swift 3 対応
Swift 3向けに書き換えています。Udemyの講義を聴きながら復習を兼ねてブログ記事の書き換えです。
yataiblue.hatenablog.com
yataiblue.hatenablog.com
これだけ。
Swiftで遊ぼう! - 851 - UdemyのiOS講座受講してます
- Swiftで遊ぼう!の前書き-> Life-LOG OtherSide
- 初心者はここから!-> 50オヤジでもできるiOS開発
- 私の本業、オフィシャルなブログ-> Life-LOG
- Swift 3 対応
週末にブラックフライデーセールってやつをしてました。今回次の講座がセールになっていたので登録しました。
只今セクション12まで終了しています。スタンフォード大学のポール先生と比較なんかできませんが、シンプルに説明が進んでいて、理解が難しい箇所は「定型文なんで覚えてください」てな感じで流されています。
ポール先生の授業を聞いているので、私には分かりますが、これで初心者は納得できるのだろうか? 理解できない箇所があると先に進めない私のような人間には辛いかもしれません。
それでも、今の私には総復習になっています。意外に知らない箇所もあり勉強になっています。
Swiftで遊ぼう! - 850 - 今更ながら定数と変数の説明を追加
- Swiftで遊ぼう!の前書き-> Life-LOG OtherSide
- 初心者はここから!-> 50オヤジでもできるiOS開発
- 私の本業、オフィシャルなブログ-> Life-LOG
- Swift 3 対応
初心者向けに内容を変更しています。
今更ながら定数と変数の説明を変更しました。下記の記事の定数と変数の説明文を改訂しました。
ちょっとした変更ですが、しっかり理解することが重要です。
これだけ。
Swiftで遊ぼう! - 849 - Big-O 表記法
- Swiftで遊ぼう!の前書き-> Life-LOG OtherSide
- 初心者はここから!-> 50オヤジでもできるiOS開発
- 私の本業、オフィシャルなブログ-> Life-LOG
- Swift 3 対応
プログラミングの真骨頂はアルゴリズムですよね。今までiOSフレームワークの勉強ばかりしていて疲れました。少しアルゴリズムを考えないといけませんね。アルゴリズムのパフォーマンスを表現するときにBig-O(ビッグ・オー)notation(表記法)があります。
ものすごくシンプルに分かりやすい解説でした。
ちょっとずつ進歩します。
Swiftで遊ぼう! - 848 - 水島企画さんのサンプルに挑戦
- Swiftで遊ぼう!の前書き-> Life-LOG OtherSide
- 初心者はここから!-> 50オヤジでもできるiOS開発
- 私の本業、オフィシャルなブログ-> Life-LOG
- Swift 3 対応
Sprite Kitの勉強をしていたので、水島企画さんのサイトを見つけることができました。豊富なサンプルコードを公開してくれているので勉強になります。
Objective-Cで書かれたコードを自分なりにSwift 3に書き換えてみたのですが、サンプルというスタンスのせいか、実用的なMVC構造になっていないので違和感を感じます。取りあえず公開します。
Single View Applicationのプロジェクトを作って、ModelSceneというSKSceneを継承したファイルも作ってみます。
import UIKit import SpriteKit class ModelScene: SKScene { let myLabel = SKLabelNode(fontNamed:"Chalkduster") override func didMove(to view: SKView) { /* Setup your scene here */ myLabel.text = "Card" myLabel.fontSize = 45 myLabel.position = CGPoint(x: self.frame.midX, y:self.frame.midY - 20) self.addChild(myLabel) } }
そしてViwControllerを次のようにします。
import UIKit import SpriteKit class ViewController: UIViewController { weak var scene: ModelScene? var isCircular: Bool = false override func viewDidLoad() { super.viewDidLoad() setupScene() createCard() } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. } func setupScene() { let spriteKitView = SKView(frame: view.bounds) let modelScene = ModelScene(size: spriteKitView.frame.size) modelScene.backgroundColor = UIColor.init(hue: 0.25, saturation: 1, brightness: 0.4, alpha: 1) spriteKitView.presentScene(modelScene) view.addSubview(spriteKitView) scene = modelScene } func createCard() { let dw: Double = 2.0 * M_PI / 53.0 for i in 0...53 { let w = dw * Double(i) let card = SKSpriteNode() card.name = "card" card.position = CGPoint(x: view.frame.midX, y: view.frame.midY) scene?.addChild(card) let cardShape = SKShapeNode(rect: CGRect(x: 8, y: -12, width: 16, height: 24), cornerRadius: 2) cardShape.lineWidth = 2 cardShape.position = CGPoint(x: 0, y: 100) cardShape.fillColor = UIColor.red cardShape.strokeColor = UIColor.white.withAlphaComponent(0.5) card.addChild(cardShape) card.zPosition = CGFloat(w) } isCircular = true } override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) { scene?.children .filter { $0.name == "card" } .enumerated().forEach{(index, node) in let duration: Double = 3.0 let waittime = (duration / 52.0) * (52.0 - Double(index)) if self.isCircular { node.run( SKAction.group([ SKAction.wait(forDuration: duration), SKAction.rotate(toAngle: 0, duration: duration - waittime)])) print(index) } else { let w = (2.0 * M_PI / 52.0) * Double(index) node.run( SKAction.rotate(toAngle: CGFloat(w), duration: duration - waittime)) print("backwords:\(index)") } } self.isCircular = !self.isCircular } }
すると次のようになります。解説は今後加えます。
Swiftで遊ぼう! - 847 - 画像の取り扱いに関する記事をSwift 3に書き直しました
- Swiftで遊ぼう!の前書き-> Life-LOG OtherSide
- 初心者はここから!-> 50オヤジでもできるiOS開発
- 私の本業、オフィシャルなブログ-> Life-LOG
- Swift 3 対応
やっぱり復習するスピードは上がっていますね。過去の記事を次々にSwift 3に変更していきます。
Swift 3向けに書き直しました。
Swiftで遊ぼう! - 846 - なんか凄すぎて凹んでいます(^_^;)
- Swiftで遊ぼう!の前書き-> Life-LOG OtherSide
- 初心者はここから!-> 50オヤジでもできるiOS開発
- 私の本業、オフィシャルなブログ-> Life-LOG
- Swift 3 対応
最近、怒濤の勢いでプログラミングの腕を上げているアプリ魂さん、私と同じように大人の趣味として始めたプログラミングの勉強... 私は2014年から初めているのにまだ初心者レベル、しかし彼は2016年9月から... 同じ大人の趣味なのに、この差はいったい何なんだ!
能力のある人間は羨ましいですね。私のように能力の無い人間が本当にアプリを作る事ができるのだろうか?
小学2年生の娘が、今年の4月から百人一首の競技カルタを覚え始めました。私も娘と一緒に百人一首の暗記を始めたけど...
今や彼女は試合形式で練習をするレベル... しかし私は...
覚える事がこんなに辛くなるとは...
アプリ魂さんのエントリーを読んで溜息ばかりです(T_T)