کور ڈیٹا بمقابلہ این ایس کیئڈآرچیور بمقابلہ صارف ڈیفالٹس

بنیادی اعداد و شمار ، این ایس کیڈآرچیور اور صارف ڈیفالٹس تین طریقے ہیں جس میں ایک پروگرامر ایپ لانچوں کے درمیان ڈیٹا کو برقرار رکھ سکتا ہے۔ اگرچہ بنیادی اعداد و شمار قدرے زیادہ پیچیدہ ہیں ، لیکن یہ کارآمد ہے جب ذخیرہ شدہ معلومات کو ساخت کی ضرورت ہوتی ہے۔ این ایس کیڈ آریچیور بنیادی اعداد و شمار سے کم پیچیدہ اور سست ہے ، لیکن اس کا استعمال کرنا آسان ہے۔ یوزر ڈیفالٹس ڈیٹا کو برقرار رکھنے کا آسان ترین طریقہ ہے۔

بنیادی ڈیٹا

بنیادی اعداد و شمار کے اہم فوائد میں شامل ہیں:

  1. موثر انداز میں استفسار کرنے کی صلاحیت
  2. ڈیٹا کا ڈھانچہ اس طرح تیار کیا گیا ہے کہ ہر شے کی کچھ خاصیاں ہوتی ہیں (مخصوص قسم کی خصوصیات کے بارے میں سوچنا) اور تعلقات کے ذریعہ دیگر اداروں سے متعلق ہوسکتی ہے یا نہیں
  3. خودکار منتقلی - بنیادی طور پر اس کا مطلب صرف یہ ہے کہ جب آپ کور ڈیٹا ماڈل بناتے ہیں تو ، ایس کیو ایلائٹ ڈیٹا بیس بن جاتا ہے۔ اگر آپ بعد میں ڈیٹا ماڈل کو تبدیل کرتے ہیں (مثال کے طور پر ڈیٹا ماڈل میں مزید خصوصیات شامل کریں) ، نیا ڈیٹا ماڈل اصل مستقل اسٹور کے ساتھ مطابقت نہیں رکھتا ہے۔ ایپل اس "ہجرت" کو ہمارے لئے ایک ڈیٹا ماڈل ورژن سے دوسرے میں سنبھالتا ہے - شکریہ ایپل !!

کوڈ میں کھدائی کرنے سے پہلے پہلے کچھ تعریفوں کو دیکھیں۔

  1. بنیادی اعداد و شمار کو پڑھنے / لکھنے کے لئے NSPers ContinContainer ذمہ دار ہے۔
  2. قسم NSManagedObjectContext کی قسم کا متن۔ آپ NSManagedObjectContext کے ذریعہ ایک بنیادی ڈیٹا آبجیکٹ کی مثال تیار کرتے ہیں۔

اپنے منصوبے میں بنیادی اعداد و شمار کو مربوط کرنے کے ل you ، آپ کو پہلے ایک بنیادی ڈیٹا .xcdatamodel فائل بنانا ہوگی۔ اس فائل کے اندر آپ اداروں کی وضاحت کریں گے ، بشمول ہر ایک شخص کی خصوصیات ، جن کی آپ قائم رہنا چاہتے ہیں۔ .xcdatamodel فائل بنانے کے بعد ، پھر اس پروجیکٹ میں ایک نئی .swift فائل شامل کریں جس میں کوڈ ڈیٹا کے لئے تمام بوائلر پلیٹ کوڈ شامل ہوں گے۔ ذیل میں کوڈ میں نوٹ کرنے کے لئے تین چیزیں۔

  1. NSPer ContinContainer کا نام .xcdatamodel فائل جیسا ہونا چاہئے۔
  2. میں نے ایک سنگلٹن تیار کیا ہے تاکہ ایپ کے پورے کورس میں صرف ایک بار بنیادی اعداد و شمار کے ذریعہ محفوظ کردہ معلومات کی مثال مل سکے۔ اگر آپ عام طور پر سنگلز / ڈیزائن نمونوں کے بارے میں دلچسپی رکھتے ہیں تو ، اس بلاگ کو چیک کریں۔
  3. . سوئفٹ فائل میں کور ڈیٹا درآمد کرنا مت بھولنا!

* اگر آپ کوئی نیا پروجیکٹ بناتے ہیں اور پروجیکٹ میں بنیادی ڈیٹا شامل کرنے کا انتخاب کرتے ہیں تو ، اوپر والا بوائلر پلیٹ کوڈ ایپ ڈیلیگیٹ میں دکھایا جائے گا۔

ڈیٹا کو بچانے کے علاوہ ، مشکلات یہ ہیں کہ آپ اگلی بار جب ایپ لانچ کریں گے تو آپ اپنے ایپ کو آباد کرنے کے لئے وہ ڈیٹا لانا چاہیں گے۔ ہم کہتے ہیں کہ آپ نے "بک" نامی .xcdatamodel فائل میں ایک ہستی بنائی ہے۔ جیسا کہ آپ نیچے کوڈ میں دیکھ سکتے ہیں ، آپ NSFetchRequest کا استعمال کرتے ہوئے ڈیٹا لاتے ہیں۔ میں نے ایک کتابیں تیار کیں ، جسے "کتابیں" کہا جاتا ہے ، جو [کتاب] () کے برابر ہے ، یعنی کتاب ہستی کی ایک صف ہے۔ جب بھی میں اپنے محفوظ کردہ اعداد و شمار کے ساتھ اپنی ایپ کو آباد کرنا چاہتا ہوں ، میں اس کور ڈیٹا موڈل.شاریڈ انسٹینس ڈاٹ فِٹ ورککاٹ ڈیٹا () فنک پر کال کرتا ہوں اور جس ڈیٹا کو کور ڈیٹا موڈل کے ساتھ کام کرنا چاہتا ہوں اس کی ترتیب دیتا ہوں۔

بنیادی اعداد و شمار سے معلومات کو ہٹانا بھی بہت آسان ہے۔ آپ کو ذخیرہ کرنے والی معلومات بازیافت کرنے اور سرنی کے ذریعہ دہرانا ہے اور ہر چیز کو مستقل کنٹینر سے حذف کرنا ہے۔ Voila!

میں نے اس پوسٹ میں تعلقات کو فروغ نہیں دیا ہے ، لیکن مندرجہ ذیل بلاگ نے بنیادی اعداد و شمار میں تعلقات کے لئے ضابطہ اخلاق لکھا ہے۔

این ایس کیڈ آریچیور

NSKeyedArchiver براہ راست ڈسک کے ساتھ بات چیت کرنے کی صلاحیت فراہم کرتا ہے۔ خاص طور پر ، یہ این ایس کوڈنگ کو سیریلائز کرتا ہے ، جو دو طریقوں کے ساتھ ایک پروٹوکول ہے۔

  1. انکوڈ (ایک کوڈر کے ساتھ: این ایس کوڈر)
  2. init؟ (کوڈر a ڈیکوڈر: این ایس کوڈر)

ذیل کی مثال میں ، میرا مقصد [شخص] کی صف کو برقرار رکھنا ہے۔ کلاس فرد کی دو خصوصیات ہیں: پہلا نام (ٹائپ اسٹرنگ کا) اور لسٹ نیم (قسم کے اسٹرنگ کا)۔ جیسا کہ آپ نیچے کوڈ سے دیکھ سکتے ہیں ، کلاس فرد NSCoding پروٹوکول کو اپناتا ہے اور اس کے مطابق ہوتا ہے۔

NSKeyedArchiver کے توسط سے ڈیٹا کو اسٹور کرنے اور بازیافت کرنا بالکل سیدھا ہے۔ جب آپ معلومات ذخیرہ کرنا چاہیں تو ، آپ صرف NSKeyedArchiver.archiveRootObject پر کال کرسکتے ہیں - یہ ایک اندرونی طریقہ ہے۔

اسی طرح ، جب آپ مستقل اعداد و شمار کو بازیافت کرنا چاہتے ہیں تو ، آپ کسی اور بلٹ ان فنکشن ، NSKeyedUnarchiver.unarchiveObject پر کال کرسکتے ہیں۔

جیسا کہ آپ دیکھ سکتے ہیں ، این ایسکیڈآرچیور کور ڈیٹا کے مقابلے میں عمل درآمد کرنے میں بہت آسان ہے اور اعداد و شمار کو برقرار رکھنے کا ایک پرکشش اختیار ہے۔

صارف ڈیفالٹس

یوزر ڈیفالٹس ایک ایسی کلاس ہے جو مختلف ڈیٹا کی اقسام کو آسان اسٹوریج کرنے کی اجازت دیتی ہے۔ ایپ لانچوں یا آلہ دوبارہ شروع ہونے کے درمیان برقرار رکھنے کے لئے یہ بنیادی طور پر تھوڑی مقدار میں ڈیٹا اسٹور کرنے کے لئے استعمال ہوتا ہے۔ یوزر ڈیفالٹس بنیادی اقسام (بول ، فلوٹ ، ڈبل ، انٹ ، وغیرہ) اور زیادہ پیچیدہ اقسام (صف ، لغت) کو محفوظ کرسکتے ہیں۔ اگرچہ یوزر ڈیفالٹس کی کوئی ڈھانچہ نہیں ہے ، لیکن کہا جاتا ہے کہ یہ بنیادی اعداد و شمار سے تیز ہے کیونکہ یہ سب کچھ اہم قدر کے جوڑے ہیں۔ چونکہ اس کی کوئی ڈھانچہ نہیں ہے ، اس لئے اعداد و شمار کو ذخیرہ کرنا مفید ہے جس میں ساخت کی ضرورت نہیں ہے - لہذا ، صارف کی ترجیحات۔

ایک بات نوٹ کرنے کی بات یہ ہے کہ اگر آپ کسی چابی کو دوبارہ مرتب کرتے ہیں تو ، محفوظ کردہ ڈیٹا کو تبدیل کردیا جائے گا لیکن دونوں کلیدوں کو ایک ہی ہونا چاہئے - اگر ایک کلید میں تمام چھوٹے حروف ہوں اور دوسری کلید میں ایک بڑے کا خط ہو ، تو موجودہ اعداد و شمار کو تبدیل نہیں کیا جائے گا۔

پڑھنے اور خوش کوڈنگ کا شکریہ !!

حوالہ جات:

https://www.