iPadآيفونآيبودآبل

سلسلة دروس برمجة تطبيقات الآيفون (2) “أمثلة تطبيقية 2”

iPadآيفونآيبودآبل

في الأمثلة السابقة رأينا كيف نضيف إلى الـ string أيضًا string أخرى وذلك باستعمال %@ لكن إذا أردنا إضافة عدد صحيح integer نستخدم %d :

int myAge = 34;

NSString *hisAge = [NSString stringWithFormat: @”He is %d years old”, myAge];

NSLog(hisAge);

من الدوال التابعة إلى الـ NSString لو أردت أن أضيف String إلى String أخرى نستخدم stringByAppendingString:

NSString *myString =@”Hello”;

NSString *fullString;

fullString = [myString stringByAppendingString:@” world!”];

NSLog(fullString);

وستظهر Hello world !  كاملة.

هذا مثال آخر لدوال أخرى تابعة أيضًا للـ NSString وهي عندما أريد أن أعرف هل في آخر الـ string قيمة معينة والدالة الثانية إذا كانت قيمة الـ string عدد صحيح وأريد أن أقارن بهذا العدد الصحيح:

NSString *myString = @”Hello”;

NSString *otherString = @”449″;

if ([myString hasSuffix:@”lo”]) {

NSLog(@”its have”);

}

if ([otherString intValue] > 400) {

NSLog(@”its bigger”);

}

ستكون النتيجة كالتالي:

هناك دوال أخرى كثيرة تابعة لهذه الـ class يمكن الرجوع إليها من خلال الـ help التابع للـ xcode وكتابة NSString Class Reference.

يوجد نوع جديد يتبع للـ NSString وهو NSMutableString الفرق بينه وبين الـ NSString هو حرية التعديل على الـ string التابعة له ففي الـ NSString عندما أعدل عليه سيضع القيمة الأولى في pointer ثم يحفظ القيمة الجديدة في pointer  آخر وبعد التعديل يقوم بحذف القيمة الأولى ووضع القيمة الجديدة أما في الثانية فهي تقوم بالتعديل على نفس الـ pointer  مباشرة بدون حذف وإضافة وهذا مثال عليها:

double favoriteNumber = 3.55;

NSMutableString *newString = [NSMutableString string];

[newString appendString:@”Hi”];

[newString appendFormat:@”, my favorite number is: %f”,favoriteNumber];

NSLog(newString);

هناك أنواع أخرى من الـ  objects يمكن الرجوع إليها (Array, Dictionary, set) سنأخذ مثال لكل منها:

Array:

//for array

NSArray *array = [NSArray arrayWithObjects:@”Red”, @”Blue”, @”Green”, nil];

if ([array indexOfObject:@”Purple”] == NSNotFound){

NSLog (@”No color purple”);

}

for (NSString *element in array) {

NSLog(@”element: %@”, element);

}

عرفنا Array وبحثنا عن قيمة معينة في Array اللي هي الـ purple ثم قمنا بعرض القيم الموجودة في الـ Array

مع ملاحظة عند تعريف أي Array لابد أن تنتهي بقيمة nil.

Dictionary:

NSDictionary *colors = [NSDictionary dictionaryWithObjectsAndKeys:@”Red”, @”Color 1″, @”Green”, @”Color 2″, @”Blue”, @”Color 3″, nil];

if (![colors objectForKey:@”Color 8″]) {

NSLog (@”No color 8″);

}

عرفنا dictionary وعطينا قيمة للـ object وقيمة للـ key ثم بحثنا عن key في الـ dictionary وستظهر الرسالة بأنه لايوجد وأيضا لابد أن ينتهي تعريف الـ dictionary بـ nil.

Set:

NSSet *set = [NSSet setWithObjects:

@”Alpha”, @”Beta”, @”Gamma”, @”Delta”, nil];

NSString *setElement;

for (setElement in set) {

NSLog(@”element: %@”, setElement);}

عرفنا set وأنهينا القيم بـ nil وقمنا بعد ذلك بعرض هذه القيم.

مع العلم أن كل من هذه الأنواع الثلاثة لها أيضا mutable كما في string.

انتهى شرح الأمثلة التطبيقية..

دمتم بود 🙂

الوسوم

5 آراء على “سلسلة دروس برمجة تطبيقات الآيفون (2) “أمثلة تطبيقية 2””

  1. شكرا لك على هذه الدروس القيمة ..
    أنا متابع ومطبق للدروس .. لحظه بلحظه ..

    ويهمني أن أصل لمرحلة كافية من احتراف هذه اللغة لكي أصدر برمجياتي وافكاري .. في تطبيقات تفيدني علميا وعمليا .. واجرا أيضا ..

    أود أن أطلب طلب بسيط وهو أن توفر هذه الدروس على اليوتيوب .. صوت وصوره ..

    فهي مفيده ايضا .. وتأخذ جهد اقل منك في الشرح .. لأنك ستركز على حاستي السمع والبصر معا .. عكس الوضع الحالي .. وهو البصر ..

    فالتجربة بالملاحظه .. تفيد بشكل أوسع

    أخوكم

    محمد السلمي

  2. سؤال :
    انا ماجربت من قبل اني اصنع شي
    ولااعرف في لغات الترجمة ممكن اني اصنع تطبيق للايقون لني واذا ممكن من اين ابدأ

    وشكرااا على الدروس وانشالله متابعة

    1. إن شاء الله راح تقدرين وممكن تبدأين من الدروس هذه لكن يمكن راح يعوق معك بعض المصطلحات أو أشياء برمجيه ممكن اذا عاقت معك تبحثين عنها وإن شاء الله مايعوق معك شيء 🙂

      العفو حياك ..

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *