Search in Devinthailand

Showing posts with label objective c. Show all posts
Showing posts with label objective c. Show all posts

Tuesday, 17 August 2010

Hello World กับ Objective C (Part 2)

สวัสดีครับ วันนี้มาเริ่มเขียนกันนะครับโดยมาSay Hello World กันก่อน


1)มาสร้าง Project กันเลยครับ เลือก Application
แล้วเลือก Command Line Tool'
แล้วก็กด Choose เลยครับ







 2) เมื่อขึ้นมาอย่างงี้ก็ให้ใส่ชื่อ Project ไปเลยครับ
อย่างเช่นตัวอย่างก็ "HelloWorld" ไปเลย แล้วก็กด Save








3) จากนั้นก็เลือกไฟล์ HelloWorld.m
ใส่โค้ดไปตามนี้


#import < Foundation/Foundation.h >

int main (int argc, const char * argv[]) {


// insert code here...
NSLog(@"Hello, World! by Devinthailand");


return 0;

}




4)เมื่อกด Command + Shift + R ก็จะมี Console ขึ้นมา

จากนั้นก็กด Command + R อีกทีเพื่อรัน จะได้ตามรูปครับ

เรามาอธิบาย Code กันครับ
NSLog(@"Hello, World! by Devinthailand");

NSLog คืออะไร จริงๆแล้วมันก็คือMethod Print ใน Objective C นัั่นเอง
ซึ่ง ถ้าเป็น ภาษา C ก็คือ printf() หรือ ภาษาจาว่าก็ System.out.println();
NSLog ถูกวิพากษ์วิจารณ์ว่าเป็น Method ที่มีการตั้งชื่อได้แย่มากเพราะคำว่า "Log" ซึ่ง Programmer บางคนหรือคนทั่วไปอาจจะไม่ Make sense กับคำว่า "Log" ที่ใช้สำหรับ Print ออกมาทาง Console
ส่วน"NS"ย่อมาจาก NextSTEP ซึ่งเป็น Toolkit ของบริษัท NeXT Software ก่อนที่จะถูก Apple เข้ารวบรวมกิจกรรมในปี 1996

ส่วน
 return 0;
คือการบอก Compiler ว่าเสร็จแล้ว

Friday, 30 July 2010

เริ่มต้น Objective C part 1

Objective C 
Objective C พัฒนาต่อมาจาก ภาษา C
ส่วน Cocoa ก็เป็น Framework ของ Objective-c ซึ่ง apple นำมาใช้ develop application ต่างๆนานา
โดยส่วนใหญ่การเขียนโปรแกรม จะใช้ IDE ที่มีชื่อว่า Xcode ของ Apple เองด้วย
ส่วนตัวผม ผมคิดว่ามันเป็น IDE ที่เยี่ยมยอดตัวนึงเลยแหละ
ง่ายในการใช้มาก http://developer.apple.com/ สมัครแล้วเข้าไปโหลดได้เลย

มาเริ่มรู้จัก Objective C กันที่ Data Types
1) Int Data Type
int มาจากคำว่า Integer แปลว่า จำนวนเต็ม ดังนั้น int คือการเก็บจำนานเต็มนะไม่มีจุดทศนิยม
โดยจะเก็บอย่างน้อย16 bits

 การประกาศตัวแปร int ก็เช่น int myint = 10;
 2) char Data Type คือ ชนิดตัวแปรที่เก็บเสียงตัวอักษรตัวเดียว เช่น เก็บเพียงตัว C ตัวเดียว
การใช้งานก็เช่น
char a = 'a';
char w = 'w';
char colon = ':';
Char ก็ไม่ได้มีแค่นี้นะ ยังมี Special Character อีกเช่น
char newline = '\n';
ถ้าจะใส่ Backslash ล่ะ ก็แบบนี้ char mybackslash = '\\';
ยังมีอีกนะ
\a - Sound alert
\b - Backspace
\f - Form feed
\n - New line
\r - Carriage return
\t - Horizontal tab
\v - Vertical tab
\\ - Backslash
\" - Double quote
\' - Single quote
บางตัวก็ยังไม่เคยใช้แหะๆ

3) Float Data Type คือชนิดตัวแปรที่เก็บเลขทศนิยมนั่นเอง 32bit
ตัวอย่างเลขก็เช่น  123.45 , 543.21 เป็นต้น
การใช้งานง่ายมากครับ
float a = 111.22f;
f  ต่อท้ายก็หมายถึงกำหนดว่าเป็น ชนิด float นะครับ
float expfloat = 10.22e4;
ตัว e ต่อท้ายมาจาก exponential ครับ ค่าfloatจะได้เป็น 10.22 x 10^4 เป็นต้น
4) Double Data Type ก็ลักษณะเดียวกับ Floatแหละครับเก็บเลขทศนิยมเหมือนกัน แต่สามารถเก็บเลขที่มีขนาดใหญ่ได้มากกว่า float
5) Boolean คือตัวแปรที่เก็บ true หรือ false
โดยค่าจะมีเพียง2 ค่า เท่าคือ 1 และ 0
1 คือ true
2 คือ false
ส่วนการประกาศใช้งานนั้น ประกาศได้สองรูปแบบ คือ 1) _Bool flagOne = 1;
หรือ 2) BOOL testFlag = 0;

คราวนี้มาดู qualifier กันบ้าง
Qualifier หมายถึงอะไร แปรตามตัวครับ คือ "ตัวขยาย"
long คือการขยายการเก็บขนาดของตัวแปรไปอีกหนึ่งเท่า
เช่น  int a; จะเก็บในขนาด 16bits
แต่ long int a; จะเก็บในขนาด 32bits
และ long long int a; ละ ก็ เก็บในขนาด 64bitsนั่นเอง
ส่วน short จะเก็บขนาดเท่าเดิมแต่จะใช้ memory ครึ่งนึงของปกติ
เช่น short int a; ก็จะเก็บอย่างน้อย 16bits แต่จะใช้ memory ในการเก็บครึ่งนึงของ int a;

signed และ unsigned คืออะไร
signed จะสามารถเก็บตัวเลข ที่มีเครื่องหมายข้างหน้าได้
unsigned ก็ตรงข้ามกันครับ เก็บแบบไม่มีเครื่องหมายข้างหน้า

unsigned int ของComputer 32 bits จะเริ่มจาก 0 ถึง 4294967295 และ 64 bits จะเริ่มจาก 0 ถึง 18,446,744,073,709,551,615
signed int value ของComputer  32 bits จะเริ่มจาก  −2,147,483,648 ถึง +2,147,483,647 และ 64 bits จะเริ่มจาก  −9,223,372,036,854,775,808 ถึง +9,223,372,036,854,775,8

การใช้งานก็เช่น unsigned int myint;
signed int myint2;

ถ้าผิดพลาดประการใดก็ขอโทษด้วยนะครับ