PDA

View Full Version : มีปัญหาเกี่ยวกับ iPhone programming



CreativeSoul
25-12-2009, 12:38 PM
มี error ที่ผมไม่เข้าใจอะครับ เข้าไปดูตาม link ได้เลยครับ ผมทำรูปไว้ให้ดูแล้ว

http://cid-e109a68d00f7f282.spaces.live.com/default.aspx

ช่วยทีนะครับ ขอบคุณครับ

CreativeSoul
25-12-2009, 12:38 PM
มี error ที่ผมไม่เข้าใจอะครับ เข้าไปดูตาม link ได้เลยครับ ผมทำรูปไว้ให้ดูแล้ว

http://cid-e109a68d00f7f282.spaces.live.com/default.aspx

ช่วยทีนะครับ ขอบคุณครับ

asylu3
25-12-2009, 02:00 PM
รับทราบครับเดียวแจ้งให้ วิทยากรทราบครับ

asylu3
25-12-2009, 02:00 PM
รับทราบครับเดียวแจ้งให้ วิทยากรทราบครับ

asylu3
26-12-2009, 03:08 AM
วิทยากรตอบให้แล้วนะครับ

CGPoint มันประกาศเป็น structure (ในรูปแบบของภาษา c )

struct CGPoint {
CGFloat x;
CGFloat y;
};
typedef struct CGPoint CGPoint;

และเนื่องจากว่า CGPoint เป็นเพียงแค่ structure ไม่ได้เป็น class
ที่สามารถประกาศ member data ในลักษณะของ property เหมือนอย่าง iButton
ได้

การเรียกใช้

self.position // แบบนี้คือให้ self เรียก property ที่ชื่อว่า position
อันนี้ถูก แต่
self.position.x // แบบนี้คือให้ position เรียก property ที่ชื่อว่า x
ซึ่งมันไม่มีจึงผิด


วิธีการแก้ไข ( มีหลายแบบมาก แต่ผมจะแนะนำวิธีง่ายสุดให้ก่อน )

ผมเข้าใจว่าน้องเค้าคงต้องการ จะเก็บค่า position ไว้ใน class ของ iButton
ดังนั้นแล้ว เราเพียงแค่ประกาศ position ไม่ต้องเป็น pointer
ก็จบแล้วครับ เพราะ position ไม่ได้เป็น class เป็นเพียงแค่ structure
ภาษา c เท่านั้นเอง

code ที่แก้ไขก็จะเป็น แบบนี้ครับ

// .h

@interface iButton : NSObject
{
CGPoint position;
}


การเรียกใช้ ก็เปลี่ยนจาก

self.position.x ให้เป็น position.x แทน

asylu3
26-12-2009, 03:08 AM
วิทยากรตอบให้แล้วนะครับ

CGPoint มันประกาศเป็น structure (ในรูปแบบของภาษา c )

struct CGPoint {
CGFloat x;
CGFloat y;
};
typedef struct CGPoint CGPoint;

และเนื่องจากว่า CGPoint เป็นเพียงแค่ structure ไม่ได้เป็น class
ที่สามารถประกาศ member data ในลักษณะของ property เหมือนอย่าง iButton
ได้

การเรียกใช้

self.position // แบบนี้คือให้ self เรียก property ที่ชื่อว่า position
อันนี้ถูก แต่
self.position.x // แบบนี้คือให้ position เรียก property ที่ชื่อว่า x
ซึ่งมันไม่มีจึงผิด


วิธีการแก้ไข ( มีหลายแบบมาก แต่ผมจะแนะนำวิธีง่ายสุดให้ก่อน )

ผมเข้าใจว่าน้องเค้าคงต้องการ จะเก็บค่า position ไว้ใน class ของ iButton
ดังนั้นแล้ว เราเพียงแค่ประกาศ position ไม่ต้องเป็น pointer
ก็จบแล้วครับ เพราะ position ไม่ได้เป็น class เป็นเพียงแค่ structure
ภาษา c เท่านั้นเอง

code ที่แก้ไขก็จะเป็น แบบนี้ครับ

// .h

@interface iButton : NSObject
{
CGPoint position;
}


การเรียกใช้ ก็เปลี่ยนจาก

self.position.x ให้เป็น position.x แทน

CreativeSoul
26-12-2009, 10:52 AM
ขอบคุณมากๆ ครับๆๆๆ

ยังไงถ้ามีปัญหาจะมาถามใหม่ครับ

CreativeSoul
26-12-2009, 10:52 AM
ขอบคุณมากๆ ครับๆๆๆ

ยังไงถ้ามีปัญหาจะมาถามใหม่ครับ

J_TEAM
29-12-2009, 11:37 PM
เขียนแล้วลองเล่นบนเครื่องจริงๆได้ป่าวครับ ? พอดีสนใจการเขียน Objective C เกี่ยวกับเกมส์บน iphone และ Application บน ipone มากครับ ขอบคำชี้แนะด้วยครับ

J_TEAM
29-12-2009, 11:37 PM
เขียนแล้วลองเล่นบนเครื่องจริงๆได้ป่าวครับ ? พอดีสนใจการเขียน Objective C เกี่ยวกับเกมส์บน iphone และ Application บน ipone มากครับ ขอบคำชี้แนะด้วยครับ