تطبيق إعدادات iPhone يستمر البيانات
-
22-09-2019 - |
سؤال
في تطبيقي ، أستخدم كائن NSUSERDEFAULTS لتخزين اسم المستخدم وكلمة المرور وعنوان URL للخادم في تطبيق الإعدادات المدمجة. إذا لم يتم حفظ البيانات ، يتم تقديم واجهة تسجيل الدخول إلى تسجيل الدخول ، وعند تسجيل الدخول الناجح ، يتم حفظ اسم المستخدم وكلمة المرور. ثم في تطبيقي ، لدي طريقة عرض يعرض هذه المعلومات ، لكن النص مفقود كما لو أن البيانات لم يتم حفظها في الإعدادات حتى الآن. هذا هو الرمز:
...
NSUserDefaults* appSettings = [NSUserDefaults standardUserDefaults];
[appSettings setObject:username forKey:USERNAME];
[appSettings setObject:password forKey:PASSWORD];
if ( [appSettings synchronize] ) {
// display an alert with a positive message
} else {
// display an alert with a negative message
}
لذلك ، بعد تسجيل الدخول إلى الرسالة الإيجابية ، ولكن عندما أحضر البيانات مرة أخرى ، لا يوجد شيء هناك ، إلا إذا قمت بإعادة تشغيل التطبيق.
ما الذي يجب علي فعله لحفظ البيانات على الفور ، أو على الأقل قبل أن تحتاج وحدة تحكم عرض أخرى إلى قراءة الإعدادات؟
المحلول
يقوم كائن NSUSERDEFAULTS بتخزين بياناته في الذاكرة ، وهو كائن عالمي (إلى تطبيقك ، على أي حال). وبالتالي ، يجب أن يكون هناك أي شيء تقوم بتخزينه متاحًا على الفور لأي شيء يحاول الوصول إليه بعد ذلك. لا تحتاج إلى الاتصال بمزامنة هنا. إذا لم تحصل على بياناتك ، فيجب عليك التحقق من ترتيب مكالماتك للتأكد من استدعائها عندما تعتقد أنها.