0Pricing
Objective-C iOS Development for Legacy & Enterprise Apps · درس

تخزين التفضيلات باستخدام NSUserDefaults

احفظ الإعدادات الخفيفة وتفضيلات المستخدم بشكل دائم في تطبيقات Objective-C باستخدام NSUserDefaults، أبسط مخزن للمفاتيح والقيم في iOS.

تخزين التفضيلات باستخدام NSUserDefaults درس مجاني في Objective-C iOS Development for Legacy & Enterprise Apps على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Objective-C iOS Development for Legacy & Enterprise Apps، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Objective-C iOS Development for Legacy & Enterprise Apps 4 دروس في المجموع.

بعض أجزاء هذا الدرس لم تُترجم بعد وتظهر باللغة الإنجليزية.

What is NSUserDefaults?

NSUserDefaults is a built-in key-value store for small pieces of data — settings, flags, and preferences. It persists automatically across app launches.

When to Use It

Use it for small, simple values:

  • User toggles (dark mode on/off)
  • Last selected tab
  • Onboarding-completed flag

Do NOT use it for large data or sensitive secrets.

The Standard Instance

Access the shared store through standardUserDefaults.

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];

Writing Values

Set values by key with typed setters.

[defaults setBool:YES forKey:@"darkMode"];
[defaults setInteger:5 forKey:@"launchCount"];
[defaults setObject:@"Ada" forKey:@"username"];

Reading Values

Read with matching getters. Missing keys return sensible defaults (NO, 0, nil).

BOOL dark = [defaults boolForKey:@"darkMode"];
NSInteger count = [defaults integerForKey:@"launchCount"];
NSString *name = [defaults stringForKey:@"username"];

Supported Types

NSUserDefaults stores property-list types only:

  • NSString, NSNumber, BOOL, integers, doubles
  • NSArray, NSDictionary (of plist types)
  • NSData, NSDate

Persistence is Automatic

Modern iOS writes changes to disk automatically. The old synchronize call is no longer needed and is deprecated.

// [defaults synchronize]; // no longer required

Registering Default Values

Provide fallback values for first launch with registerDefaults:. These apply only until the user changes them.

[defaults registerDefaults:@{@"darkMode": @NO, @"fontSize": @14}];

Removing a Value

Delete a stored key when it is no longer needed.

[defaults removeObjectForKey:@"username"];

Storing Custom Objects

To store a custom object, archive it to NSData first (it must conform to NSCoding), then save that data. NSUserDefaults cannot hold arbitrary objects directly.

Security Caveat

NSUserDefaults is not encrypted. Never store passwords, tokens, or other secrets there — use the Keychain for sensitive data.

Quick Check

Test your NSUserDefaults knowledge.

Recap

You learned NSUserDefaults persistence:

  • A simple key-value store for small preferences
  • Write with setBool:/setObject:, read with matching getters
  • Stores only property-list types
  • Persistence is automatic; synchronize is deprecated
  • Not encrypted — keep secrets in the Keychain

It is the go-to for lightweight settings.

الأسئلة الشائعة

هل درس «تخزين التفضيلات باستخدام NSUserDefaults» مجاني؟

نعم — نص درس «تخزين التفضيلات باستخدام NSUserDefaults» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Objective-C iOS Development for Legacy & Enterprise Apps، انتقل إلى CoddyKit PRO. تتضمن دورة Objective-C iOS Development for Legacy & Enterprise Apps 4 دروس في المجموع.

ماذا ستتعلم في «تخزين التفضيلات باستخدام NSUserDefaults»؟

احفظ الإعدادات الخفيفة وتفضيلات المستخدم بشكل دائم في تطبيقات Objective-C باستخدام NSUserDefaults، أبسط مخزن للمفاتيح والقيم في iOS. تتمرن على Objective-C iOS Development for Legacy & Enterprise Apps مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Objective-C iOS Development for Legacy & Enterprise Apps؟

لا تُشترط خبرة سابقة. Objective-C iOS Development for Legacy & Enterprise Apps على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.

كم من الوقت يستغرق درس «تخزين التفضيلات باستخدام NSUserDefaults»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Objective-C iOS Development for Legacy & Enterprise Apps هذا؟

نعم. كل درس في Objective-C iOS Development for Legacy & Enterprise Apps يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. قوائم الخصائص والأرشفة
  2. أساسيات Core Data
  3. دمج SQLite باستخدام FMDB
  4. تخزين التفضيلات باستخدام NSUserDefaults
← العودة إلى Objective-C iOS Development for Legacy & Enterprise Apps