سفارش تبلیغ
صبا ویژن
در دوزخ آسیابی است که دانشمندان فاسد را کاملاً آسیاب می کند . [پیامبر خدا صلی الله علیه و آله]
لوگوی وبلاگ
 

نویسندگان وبلاگ -گروهی
کاربر(2)
لینک دلخواه نویسنده

دسته بندی موضوعی یادداشتها
 

صفحات اختصاصی
 
sitemap
آمار و اطلاعات

بازدید امروز :215
بازدید دیروز :10
کل بازدید :358850
تعداد کل یاداشته ها : 1567
04/1/27
4:37 ع


سلام دوستان .. از اونجایی که میدونم خیلی از شما علاقه زیادی دارید که واسه آیفون برنامه بسازید تصمیم گرفتم که آموزش برنامه نویسی آیفون رو تا اونجایی که بلدم یاد بدم . قبل از شروع کار باید چندین نکته رو بگم که من به طور تجربی و از روی کتاب های انگلیسی و مقاله و ... یاد گرفتم ، پس اگه جایی در آموزش کم تجربگی و اشتباهی هست منو ببخشید و حتما درستش رو بیان کنید .
آیا برای برنامه نویسی آیفون نیاز هست من زبان های دیگه مثل C++ و ... بلد باشم ؟

خیر نیازی نیست ، شاید ممکن باشه دونستن زبان های دیگه برای درک بهتر از Obj C کمک کنه اما به طور مستقیم هیچگونه کمکی نمیکنه پس ، نگران این موضوع نباشید .
من که چیزی بلد نیستم باید از کجا و با چه نرم افزاری شروع کنم؟
1- برای برنامه نویسی آیفون شما به برنامه iPhone SDK 3.0که میتونید از فروشگاه سایت همراه با پکیج mac Tool Box تهیه کنید .
و یا با داشتن اپل id از سایت زیر دانلود کنید . و اگر کاربر بخش ویژه باشید میتونید بطور مستقیم از سایت دانلودکنید .
iPhone Dev Center - Apple Developer Connection
2- این برنامه فقط بر روی سیستم عامل مک قابل اجراست ، زیاد نگران نباشید ، برای کار با SDK نیازی نیست که ما حتما مک بوک و .... رو داشته باشیم . کافی هست که از نسخه های پج شده mac os x مثل (ideneb , iAtkos) استفاده کنیم . که برای نصب این برنامه به ورژن 10.5.7 به بالا نیاز هست .
3- خیلی بهتره که ما قبل از شروع کار یه سری مطالبی رو در مورد زبان Objective C بلد باشیم پیشنهاد من اینه که حتما کتاب زیر رو دانلود کنید و سعی کنید که قسمت های اول کتاب رو حتما مطالعه کنید تا حد زیادی جلو بیفتید .
RapidShare: 1-CLICK Web hosting - Easy Filehosting
-چرا از این کتاب شروع نمیکیم ؟

بخاطر اینکه این کتاب آموزش Obj C هست نه برنامه نویسی COCOA TOUCH و مخصوص آیفون پس واسه اینکه از بیس کار سر در بیاریم بهتر هست حتما مطالعه کنیم . (البته خودم هم نکاتی ذکر میکنم )
4- این آموزش ها شاید به دلیل ذیق وقت به طور منظم قرار ندم و شاید با تاخیر باشه .
5- میدونم همه شما در مرحله اول سوال های زیادی دارید ، خواهش میکنم حتما سوال هاتون مناسب با آموزش بپرسید تا من هم راحت تر بتونم به شما پاسخ بدم .
خب اول یه سری نکاتی رو در مورد زبان Obj C میگم تا یه ذره براتون قابل حضم تر باشه .
بعد ازاینکه برنامه نصب شد برنامه هارو ازمسیر Developer /Application باز کنید و بهتر هست که فولدر اپلیکشن رو درون داک قرار بدین در اینجا چندین برنامه مشاهده میکنید :
xCode
این برنامه ، دقیقا برنامه ای هست که ما باید با اون اپلیکیشن های آیفون و مک رو میسازیم

Interface Builder

این برنامه برای ساخت رابط گرافیکی میان کاربر و برنامه استفاده میشه .

Dashcode
این برنامه برای ساخت وب اپلیکشن برای آیفون و آیپاد استفاده میشه که فکر کنم زبان برنامه نویسیش PHP باشه .
simulator
آیفونsimulator به ما این امکان رو میده که برنامه هارو یک آیفون مجازی اجرا کنیم ،


من چی کار کنم بتونم برنامه هامو داخل خود آبفون اجرا کنم ؟

برای این کار شما 2 راه دارید خرید اکانت دولوپر اپل ، و یا به مدد هکر های عزیز یک فایل پج شده ساخته میشه و میتونیم از اون استفاده کنیم ،(که بعدا براتون توضیح میدم)
. چه فرقی بین شبیه ساز آیفون و خود آیفون وجود داره ؟

خب این برنامه قادر نیست که از سخت افزار آیفون مثل دورببین ، سنسور ها ، جی پی اس و ..... استفاده بکنه . و فقط قادر به اجرای برنامه های ساده و بدون نیاز به سخت افزار خاصی هستن استفاده کنه . زیاد نگران نباشد چون حالا حالاها نیازی نداریم که برنامه ها رو روی آیفون اجرا کنیم .
باقی نرم افزار ها فعلا مورد استفاده ما نیستن و ازشون میگذریم .

ابتدا برنامه رو بازی کنید از قمست iPhone OS گزینه View-Based Application رو انتخاب کنید . و پروژه خودتون با نام Hello IRAN در هر جایی که میخوایید سیو کنید .


محیط برنامه به شکل زیر هست :



خب اول تک تک فایل هارو معرفی میکنیم از بالا به پایین :

.framework : فریم ورک ها شامل یه سری از کلاس ها و کدها هستن که با استفاده از اون ها میتونیم برنامه های آیفون رو بسازیم

.app این همان اپلیکشن ما هست که موقعی که برنامه به صورت کامل ساخته شد برای عرضه استفاده میشه . که به صورت قرمز رنگ نشان داده میشه .

.plist در واقع اپلیکشن آیفون شما رو برای سیستم آیفون شرح میده ، یا بهتر بگم شناسه برنامه شما ، مثلا چه ورژنی هست ، ایکون برنامه چی هست و .....

.xib : این پسوند ، مال برنامه IFB یا همون interface builder هست که من تو آموزشمام از این مخفف استفاده میکنم . که برای طراحی برنامه مون استفاده میکنیم .

main.m, HelloIRANAppDelegate.h/m و HelloIRANViewController.h/m :

این فایل ها در واقع اسکلت برنامه ما حساب میشن که میبایست کد ها و دستور هارو درون این فایل ها بنویسیم تا نرم افزار ما ساخته بشه .
خب بعد از اینکه تا حدودی با محیط و فایل های xcode آشنا شدیم میپردازیم به یه سری نکات زبان Objective C ...
اول با یه سری علائم آشنا میشیم ...
اولین و مهم ترین نکته ای که ما باید بهش توجه کنیم این هست که هر خط از دستوری که تایپ میکنیم باید بایک ویرگول ; تمام بشه
مثلا
کد:

- (IBAction)showAlert:(id)sender;

ما برای کامنت گذاری از دو روش استفاده کنیم ، که با رنگ سبز نمایش داده میشوند :

  • // : زمانی هست که میخواهیم مثلا در مورد یه دستور توضیحی بدهیم با دو اسلش مشخص میکنیم به عنوان مثال :


کد:

// barae shoro kar az inja shoro mikonim 



  • /* و /* : ستاره و اسلش برای مواقعی هست که مثلا میخواهیم یه رشته از دستورات را غیر فعل کنیم ، به عنوان مثال :

کد:

/*
// Override to allow orientations other than the default portrait orientation.
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation) interfaceOrientation {
// Return YES for supported orientations
return (interfaceOrientation == UIInterfaceOrientationPortrait);
}
*/

@ : این علامت فورا یک رشته کاراکتر ها در یک دابل کوتیشن قرار میدهد که مشخص میکند این یک NSString یا همان زنجیر از حروف و ... هست . مثل متن ، مثال :
کد:

NSLog ( @" Hi , My name is Momeks") ;

که به صورت رنگ قرمز نشان داده میشود .

NSLog برای چاپ مثلا جمع دو عدد استفاده میشود ، شبیه دستور print.

انتخاب کردن نام ها :
ما برای هر کلاس ، متود ، و یا شی خود باید اسمی انتخاب کنیم ، قاعدتا هر نامی میشه استفاده کرد و اما برای انتخاب نام بهتر هست که یه سری قوانین و سنت رو رعایت کنیم :
معمولا برای نام گذاری مثلا یک object همیشه از اسم کوچیک استفاده میشه ، و اگر نام ما از دو کلمه استفاده میشه بهتر هست که کلمه اول ما با حرف کوچیک و حرف اول کلمه بعدی ما به صورت بزرگ نوشته بشه :
کد:

myButton

این کار معمولا به صورت یک سنت حسنه بین همه برنامه نویس ها رعایت میشه ، حالا میپردازیم به یه سری قوانین برای انتخاب کردن اسم :

هیچ گاه برای انتخاب اسم ، اول کلمه از شماره استفاده نکنید :
کد:

856myButton

از کارکتر های غیر مجاز استفاده نکینم ،
کد:

My?Button

بین اسم هایی که انتخاب میکنید نباید فاصله داشته باشه
کد:

My  button

از کلماتی که درون خود زبان Obj C دخیره شدن استفاده نکیند
کد:

Int

Class , Object و Method

Object : شی یا چیزی هست که شما با اون کار رو انجام میدید .
Method : به زبان ساده کاری هست که برای object انجام میدید .
Class : هر object از یه خصوصیتی تشکلیل شده که به اون class میگن .
مثال باز کردن در ماشین یه مثال خوبیه :
ماشین : object /// بازی کردن در ماشین : Method /// سفت بودن دستگیره در ماشین : class
بر میگردیم به xcode روی فایل Hello_IRANViewController.h کلیک کنید .

حتما با دستور @Interface مواجه شدید ..

وقتی کلاس جدیدی رو تعریف میکینیم چندین کار انجام میدیم :
1- اول به کامپایلر Obj C میگیم که فلان Class از کجا آمده ، یا وارثش یا منشا چی هست که Parent Class می نامیم .
2- شما باید اطلاعاتی شرح بدید که اعضای آن جزئی از کلاس ها خواهند بود این اعضا یا بهتر بگم members را instant variable می نامیم ، همون متغیر ها .
3- ما باید نوع عمل کرد object ها رو شرح بدیم یا همون Method که چه مواقعی میتوانند با یک class کار کنند .
حالا با توضیحات بالا شکل کلی این دستور رو نشون میدیم که بهتر نشون داده بشن .

کد:

@interface NewClassName: ParentClassName
{
memberDeclarations;
}
methodDeclarations;
@end

که ما در پروژه خودمون فقط NewClassName: ParentClassName رو داریم .

Hello_IRANViewController.m کلیک کنید :
این بار با دستور @implementation مواجه میشم ... که شکل کلی اون اینطوری هست :
کد:

@implementation NewClassName
methodDefinitions;
@end

در این قسمت در واقع کد های مورد نظر را برای تعریف Method ها در این بخش قرار می دهیم .
methodDefinitions : بخشی از @implementation هست که کدهای معینی که در قمست @interaface (memberDeclarations) تعریف کردیم رو شامل میشه ، یه مثال میزنم تا بهتر متوجه بشید :
مثلا ما میخوای یک دکمه رو تعریف کنیم که زمانی که دکمه رو لمس میکنیم یک Alert ظاهر بشه (همون پنجره آبی که وقتی sms میاد ظاهر میشه ) به این صورت تعریف میکنیم :

کد:

@interface    Hello_IRAN : UIViewController
{
memberDeclarations;
}
//methodDeclarations;
-(IBAction)myButton;
@end

کد:

@ implementation     Hello_IRAN
//methodDefinitions;
-(IBAction)myButton {
UIAlertView ...............................................
}
@end

فعلا کد رو ادامه نمیدیم فقط همین که فهمیدم چطوری باید ارتباط بین @interface و @implementation برقرار کنیم کافی هست وقتی که شروع به ساخت یک برنامه کنیم کاملا متوجه میشیم که چگونه هست ، همچنین کار با memberDeclaration رو هم یاد میگیرم .
خب آموزش اول فقط گذری ساده به محیط برنامه و زبان Obj C بود . همچنین تفاوت فایل های header یا همون .h و main یا همون .m رو یاد گرفتیم .
در قمست دوم ما یک اپلیکشن ساده میسازیم به اسم Hello IRAN ، و همچنین نحوه کار با IFB بیشتر آشنا میشم ،

امیدوارم تا اینجا اطلاعات مفیدی کسب کرده باشید ....