আমি বাজি ধরব যে প্রায় প্রতিটি ক্ষেত্রেই প্লিস্ট ফাইলটির সাথে সিন্টেক্সিকভাবে কোনও ভুল নেই। প্লাস্টের ডেটা লোড এবং সেভ করার জন্য অ্যাপলের কাজগুলি অনেক মনোযোগ এবং প্রচুর ব্যবহার পায়। প্রায় প্রতিটি বাগ অবশ্যই এখনই খুঁজে পাওয়া গেছে এবং ঠিক করা হয়েছে।
(বিবেচনা করুন যে প্লিস্টগুলি সমস্ত ধরণের জিনিসের জন্য ব্যবহৃত হয়, যেমন ড্র্যাগ-এন-ড্রপ এবং ক্লিপবোর্ড, অ্যাপ্লিকেশন চালু করার জন্য স্যান্ডবক্সের অনুমতি, প্রতিটি অ্যাপ্লিকেশানের জন্য ইউজার ইন্টারফেস এবং এমনকি ফাইন্ডারে কোন আইকন প্রদর্শন করতে হয় তা অবিশ্বাস্য হবে) প্লিস্ট-রাইটিং কোডে একটি ত্রুটি ছিল যা কিছু অ্যাপ্লিকেশনের জন্য পছন্দসই ফাইলগুলি স্ক্রু করার জন্য ঘটেছে, তবে এই অন্যান্য জিনিসের কোনও নয়!)
একটি অ্যাপ্লিকেশন এর পছন্দসই ফাইল (plist) কেবল ডিস্কে এর কিছু মেমরি ডেটা স্ট্রাকচার সংরক্ষণ করে। সুতরাং যদি অ্যাপটিতে কোনও ত্রুটি থাকে যা কোনও কারণে ভুলভাবে সেট হয়ে যায়, এটি সংরক্ষণ হয়ে যায়।
প্রায়শই যখন কোনও অ্যাপ্লিকেশনটি খারাপ ব্যবহার শুরু করে, আপনি কেবল এটিকে ছেড়ে দিয়ে পুনরায় আরম্ভ করতে পারেন। এটি এর অনেক অংশ পুনরায় সেট করে এবং সমস্যাটি সমাধান করতে পারে। পছন্দসই ফাইলগুলি ডিস্ক থেকে পুনরায় লোড করা হয়, সুতরাং, যদি অ্যাপ্লিকেশনটির প্রভাবিত অংশটি যদি অবিচ্ছিন্ন পছন্দ হিসাবে সংরক্ষণ করা হয় তবে অ্যাপ্লিকেশনটি পুনরায় চালু করার ফলে কোনও প্রভাব পড়বে না: খারাপ মানটি আবার লোড হবে। পছন্দের ফাইলটি মুছতে সাহায্য করতে পারে That's এটি অ্যাপ্লিকেশন পুনরায় চালু করার মতো, তবে যে জিনিসগুলি সংরক্ষিত হয়েছিল সেগুলির জন্য।
এই জিনিসগুলি ঘটতে পারে কারণ প্রোগ্রামাররা ধরে নেয় যে তাদের অ্যাপ্লিকেশনটির ডেটা সঠিক। ব্যবহারকারী যদি কোনও রঙের চাকা নিয়ন্ত্রণের উপর ক্লিক করেই কোনও রঙ চয়ন করতে পারেন, তারা সম্ভবত এটি ব্যবহারের আগে এটি সঠিক কিনা তা যাচাই করতে কোনও অতিরিক্ত কাজ করবেন না। (তুলনায়, সাফারি মত একটি অ্যাপ্লিকেশন একটি করে টন অতিরিক্ত কাজ সবকিছু যাচাই এর, কারণ এটি লোড এবং রান ফাইল সোজা ইন্টারনেট বন্ধ।)
বিপরীতটি হ'ল এটি প্রায় সর্বদা সঠিক এবং আপনি যদি অভ্যন্তরীণ মানগুলি সঠিক বলে ধরে নেন তবে এটি আরও সহজ। নেতিবাচক দিকটি হ'ল যদি কোনও খারাপ মান কোনওভাবে লুকিয়ে থাকে (যেমন ব্যবহারকারী পুরোপুরি অপ্রত্যাশিত কিছু করেছিলেন), সবকিছু রিসেট না হওয়া পর্যন্ত জিনিসগুলি হায়রোয়ারে যেতে পারে।
-writeToFile:atomically:YES
("ডেটাটি একটি ব্যাকআপ ফাইলে লেখা হয়, এবং তারপরে - কোনও ত্রুটি ঘটবে না এমনটি ধরে নিয়ে - ব্যাকআপ ফাইলটির নাম নির্দিষ্ট করে দেওয়া হয়েছে")। পসিক্সrename()
ফাংশনটি "অপারেশনের মাঝখানে সিস্টেমটি ক্র্যাশ হওয়া উচিত হলেও" ফাইলটির অস্তিত্বের নিশ্চয়তা দেয়।