iPhone SDK Tutorial

Basic Lession 1: พื้นฐานการเขียน method การรับค่า และการแสดงค่า

by admin on Mar.13, 2010, under Basic iPhone

Introduce

วันนี้เราจะมาทำความเข้าใจ กับการเริ่มต้นเขียน method การรับ และการส่งค่า ซึ่ง น่าจะเป็นพื้นฐานสำคัญในการ เริ่มต้นที่ดีเลยก็ว่าได้ อย่าเสียเวลาเรา มาทดลองกันเลย

เริ่มต้น เปิด xcode แล้วเลือก new project เป็น Application > Command Line Tool แล้วทำการ save ชื่อ “basic Objective C” ( หรือชื่ออะไรก็ได้น่ะครับที่ชอบกันครับ)

สิ่งที่เราจะเห็น ก็คือประกอบไปด้วย 2 ไฟล์ด้วยกัน ให้เราเลือก add > new file > Coaco Class > Objective-C class แล้ว save  ว่า “Books

Add new Objective-C file

Basic Lession 1: ทำความเข้าใจกับการเขียน method

หลังจากที่ทำการ สร้าง file class มาเรียบร้อยแล้ว ให้เราทำการไปยังไฟล์ “book.h” และใส่โค้ด ตามด้านล่าง


@interface Books : NSObject {
int bookPrice;
int bookID;
}
- (void) setBookPrice: (int) _Price;
- (void) setBookID: (int) _ID;
- (void) showBookDesc: (int) _BookID andBookPrice: (int) _BookPrice;
- (int) getBookPrice;
- (int) getBookID;

ทำความเข้าใจกับการเขียนเบื้องต้น เราจะเห็นว่า ภายในส่วน @interface Books : NSObject{..} นั่นคือการเราประกาศค่าตัวแปรขึ้นมา 2 ตัวด้วยกัน คือ bookPrice, bookID

หลังจากนั้น ในการสร้าง method นั้น คือ การรับค่า และการคืนค่า – (void) เป็นสร้างการรับค่า ที่ไม่ต้องการการ คืนค่ากลับมานั่นเอง แต่ส่วนของ (int) นั่นคือการประกาศค่าที่เราจะให้มีการคืนค่า กลับมาเป็น “int”

ให้เราทำการเปิดไฟล์ต่อมา คือ “book.m”

#import "Books.h"

@implementation Books
- (void) setBookPrice: (int) _Price{
bookPrice = _Price;
}
- (int) getBookPrice{
return bookPrice;
}

- (void) setBookID: (int) _ID{
bookID = _ID;
}
- (int) getBookID{
return bookID;
}

- (void) showBookDesc: (int) _BookID andBookPrice: (int) _BookPrice{
NSLog(@"Book ID [%i] and price = %i", _BookID, _BookPrice);
}

หลังจากที่เราสร้าง method ขึ้นมาแล้ว เราจะต้องมาเขียน statement ให้กับ method ที่เราได้ทำการสร้างไว้ หลักการง่าย ๆ คือ อันไหนที่มีการรับค่า ก็ให้เราสร้างตัวแปร และจับตัวแปรนั้น ให้เข้ากับค่าที่เรา ส่งมานั่นเอง อย่างเช่น


#import "Books.h"

int main (int argc, const char * argv[]) {
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];

Books * mathBook = [[Books alloc] init];
//Books * mathBookID = [[Books alloc] init];

[mathBook setBookPrice: 100];
[mathBook setBookID:001];

// insert code here...
//NSLog(@"MathBook ID %i and price is %i",[mathBook getBookID], [mathBook getBookPrice]);
[mathBook showBookDesc:[mathBook getBookID] andBookPrice:[mathBook getBookPrice]];
[pool drain];
return 0;
}

- (void) setBookPrice: (int) _Price{ bookPrice = _Price; } เป็นต้น

กลับมาที่ไฟล์สุดท้ายกัน นั่นคือ basic Objective C.m สิ่งแรกเลยคือการ “#import” class ที่เราได้ทำการเขียนเอาไว้เข้ามา


#import "Books.h"

int main (int argc, const char * argv[]) {
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];

Books * mathBook = [[Books alloc] init];
//Books * mathBookID = [[Books alloc] init];

[mathBook setBookPrice: 100];
[mathBook setBookID:001];

// insert code here...
//NSLog(@"MathBook ID %i and price is %i",[mathBook getBookID], [mathBook getBookPrice]);
[mathBook showBookDesc:[mathBook getBookID] andBookPrice:[mathBook getBookPrice]];
[pool drain];
return 0;
}

ในการเขียนเพื่อที่จะเรียกใช้ message หรือ method ที่เราได้สร้างเอาไว้ เราจำเป็นที่จะต้องเขียนอยู่ภายใต้ “[ ... ]” นั่นเองดังภาพ

Build and Run show Console

ทดลอง save แล้วก็ Build & Run ได้เลย เสร็จแล้วทำการเปิด Console ขึ้นด้วย ด้วยการกด shortcut “Command + Shift + R”  ก็ได้ครับ เราจะเห็นผลลัพธ์ ตามแบบที่เราได้เขียนเอาไว้นั่นเอง

Conclusion

ในบทนี้ น่าจะทำให้หลาย ๆ คนได้เข้าใจกับพื้นฐานเบื้องต้น ได้ไม่มากก็น้อยน่ะครับ เดี๋ยวในบทต่อไป ผมจะหาพื้นฐานมาให้ได้เรียนรู้กัน

Download

สามารถ download source code ได้ที่นี่ [ click here ]

VN:F [1.8.6_1065]
Rating: 9.5/10 (4 votes cast)
VN:F [1.8.6_1065]
Rating: +5 (from 5 votes)
Basic Lession 1: พื้นฐานการเขียน method การรับค่า และการแสดงค่า9.5104

  • Pdasource

    เราสามารถรับตัวแปรจาก TableView ใน TableViewController

    แล้วโยนตัวแปรนี้ไปใช้ ใน View อื่นได้อย่างไร้บางครับ 

blog comments powered by Disqus

Looking for something?

Use the form below to search the site:

Still not finding what you're looking for? Drop a comment on a post or contact us so we can take care of it!

Visit our friends!

A few highly recommended friends...