Category: Uncategorized

Swift Day #1

เริ่มดู swift เป็นเรื่องเป็นราวอีกครั้ง หลังจากถอดใจไปหลายๆ ครั้งกับความรู้สึกว่าภาษา swift นั้นยังไม่พร้อม ยังมีการปรับเปลี่ยนเยอะ แต่รอบนี้ swift ออกมาถึงเวอร์ชั่น 2.1 แล้ว คิดว่าสมควรแก่เวลาซักทีครับ

“เป้าหมาย learning อย่างน้อยไปให้ถึง #30 days”

วันแรกปูพรม ทำความเข้าใจพื้นฐานกันใหม่

var – ใช้ประกาศตัวแปรที่อาจจะมีการเปลี่ยนแปลงค่าที่เก็บไว้ได้ในภายหลัง

let – ใช้ประกาศตัวแปรแบบ constant หรือตัวแปรที่คิดว่าจะไม่มีการแก้ไขค่าในตัวแปรอีกแล้ว

ไม่จำเป็นต้องประกาศ type ของตัวแปร compiler จะทำการกำหนด type เองจากค่าที่เราใส่เข้าไป และ pattern การเขียน ให้พยายามใช้ feature ในการเขียนให้สั้นไม่ต้องกำหนด type ให้ compiler กำหนดเองเป็นหลัก

cast type ใช้ชื่อ Type( variableToCast ) เช่น String( myFloatConstant ) ได้

Array, Dictionary ประกาศโดยใช้ [ ]
และเรียกใช้ได้โดยใช้ index หรือ key และอนุญาติให้มีเครื่องหมาย , ในสมาชิกตัวสุดท้ายได้

 

ตัวอย่างทั้งหมดสามารถ copy ไปรันบน Xcode Playground ได้เลยครับ

ถัดมาเป็นเรื่องที่ ถ้าไม่เคลียร์ตั้งแต่แรก อาจจะทำให้สับสนได้ โดยเฉพาะสำหรับคนที่เขียน Objective-C มาก่อน คือ

ตัวแปรที่มีเครื่องหมาย ? หรือ ! ตามท้าย ดูกันต่อ ตอนต่อไปครับ …
credit:
เนื้อหาและโค้ดบางส่วนอ้างอิงจาก The Swift Programming Language (Swift 2.1) ใน iBook ของ Apple นะครับ

How to add APNS certificate and create the p12 file.

First start with how to create the certificates:
http://quickblox.com/developers/How_to_create_APNS_certificates

then how to export them into P12 format
http://faq.appaloosa-store.com/knowledgebase/articles/61785-how-to-generate-push-notification-p12-file

done!

Add header effect as Path App.

วันนี้หาวิธีทำ Header ชอง Table ให้มี effect แบบแอพหล่อๆ อย่าง Path และเจอเว็บนึงอธิบายไว้ดีมาก และจริงๆ แล้วไม่ได้ยากเลยครับ

ตามลิงค์ไปอ่านได้ >> คลิกเลย

Superview & Touch + PanGesture

เราสามารถ access parent view ของ UIView และ subclass ของ UIView display object ได้ด้วย property  “superview” เช่น myBtn.superview.frame.size.width สะดวกจุงเบย

การพยายามใช้ event touchesBegan/Moved/Ended ไปพร้อมๆ กับ event scrolling วิธีที่ดีที่สุด คือ ใช้ UIPanGestureRecognizer ช่วยในส่วนของการเคลื่อนที่แทน การใช้ nextResponder ใน touches events

 

การเคลื่อนไหวแบบสวิง

การสร้างการเคลื่อนไหวผ่านสคริป สำหรับการเคลื่อนไหวแบบแกว่งไปมา เป็นลูกตุ้มหรือคลื่น บางครั้งอาจจะดูเหมือนยาก แต่จริงๆ แล้วสามารถทำได้ง่ายๆ ด้วยฟังก์ชั่น math.cos() นั่นเอง

สมการ: math.cos(n)*force
– n คือ ค่าองศาที่เพิ่มขึ้นตามเวลา
– force คือ amplitude ที่เราต้องการ

ผลลัพธ์อย่างที่เห็นครับ 🙂
Simple Swing