วันอังคารที่ 28 กุมภาพันธ์ พ.ศ. 2555

Basic Xcode Programming I : Hello World

Basic Xcode Programming I : Hello World


  • สร้าง Project ใหม่โดยเลือกแม่แบบเป็น Single View Application
  • หลังจากสร้าง Project เสร็จเรียบร้อยแล้ว ให้เลือก ViewController.m


ในส่วนแรกที่จำเป็นต้องทำความเข้าใจก่อนคือ Method viewDidLoad ซึ่ง Method นี้จะทำงานหลังจากที่มีการ Load View ขึ้นมาทันที โดยที่ View ก็คือหน้าจอ Interface ( แต่ตอนนี้เรายังไม่ได้ทำอะไรกับ Interface ตอนนี้หน้าจอก็จะว่าง ) ซึ่ง View แรกจะทำงานทันทีเมื่อเราเริ่ม Run Program ทำให้ Method viewDidLoad ใน ViewController.m จะทำงานทันที




  • พิมพ์ NSLog(@"\nHello World"); ลงไปใน Method viewDidLoad แล้ว Run Program
จะเห็นว่าหลังจาก Run Program แล้วจะมีการเปิด iOS Simulator ขึ้นมาแสดงหน้าจอสีเทา (เนื่องจากเรายังไม่ได้ทำการสร้าง Interface นั่นเอง) ในส่วนของ output มีการเปลี่ยนแปลง ดังนี้
สังเกตได้ว่ามีข้อความ Hello World แสดงออกมาทาง Output จากการใช้คำสั่ง NSLog

NSLog คืออะไร

NSLog เป็น Method Print ใน Objective C ซึ่งทำหน้าที่เหมือนกับ printf(); ในภาษา C หรือ System.out.print(); ในภาษา Java นั่นเอง ใช้สำหรับแสดงสิ่งที่ต้องการออกมาทาง Console แต่ไม่แสดงออกมาทาง Interface 


คราวนี้เรามาลองสร้าง Hello World ให้ออกมาอยู่ ในรูปแบบ Interface ในแบบง่ายๆ กันก่อนน่ะครับ

  • เลือก ViewController.xib หลังจากนั้นนำ Object Label มาวางไว้ใน View


  • Double Click ที่ Label เพื่อเปลี่ยนข้อความเป็นคำว่า Hello World เสร็จแล้วลอง Run Program
Hello World ^ ^


ทีนี้เรามาลองสร้าง Hello World จากการเขียน Code ของเราเอง ครับ
  • เลือก ViewController.h  เพิ่มคำสั่งดังนี้

อธิบาย Code ที่เพิ่ม

IBOutlet UILabel *Helloworld;

เป็นการสร้าง Object Label ชื่อ Helloworld เพื่อนำไปใช้งานใน ViewController.m และสามารถนำไปเชื่อมต่อกับ Object Label ใน Interface Builder ได้

@property (nonatomic,retain) IBOutlet UILabel *Helloworld;

สร้างคุณสมบัติให้กับ Object Helloworld ซึ่ง (nonatomic,retain) ซึ่งทำงานคล้ายกับ Getter / Setter ใน Java
  • เลือก ViewController.xib หลังจากนั้น เลือก Icon File's Owner สังเกตมุมขวาบนใน Tab ของ Connection inspector ( Tab ขวาสุด ) ในส่วนของ Outlets จะเห็นว่ามี Object Helloworld ลากจากจุดขวาสุดมายัง Label ที่ได้สร้างไว้ใน Interface Builder
เชื่อมต่อ Object ที่เราทำการสร้างไว้ใน File กับ Object ที่อยู่ใน Interface Builder
  • เลือก ViewController.m  เพิ่มคำสั่งดังนี้ หลังจากนั้น Run Program


อธิบาย Code ที่เพิ่ม

@synthesize Helloworld;

จองพื้นที่ในหน่อยความจำเพื่อที่จะใช้งาน Object Helloworld

Helloworld.text = @"Hello programminginios ^ ^";

เปลี่ยนข้อความของ Object Helloworld เป็น ข้อความว่า Hello programminginios ^ ^

เปลี่ยนแล้วจ้า

## หากข้อความขึ้นไม่หมด ให้ไปขยายขนาด  Label ใน Interface Builder ( ViewController.xib ) ครับ



4 ความคิดเห็น:

  1. ผมติดตั้ง Xcode 4.3.3 แล้วลองทำตามด้วยการ new project เป็น single view ตามบทความ ผมไม่ได้ไฟล์นามสกุล .xib ที่เอาไว้ทำ interface ครับ แก้ปัญหายังไงดีครับ

    ตอบลบ
  2. ผมเลือก -single view แล้ว ตอนตั้งชื่อ ให้ติ๊ก use story board ออกครับ แลพผมเลือก device family เป็น iPhone

    ตอบลบ
    คำตอบ
    1.   ขอบคุณมากครับที่ช่วยมาตอบให้ ตามที่ว่ามาเลยครับถูกแล้วครับ

      ลบ
  3. เป็นประโยชน์มากครับ ขอใช้ศึกษาเป็นความรู้ในการทำโปรเจ็กต์นะครับ ^_^

    ตอบลบ