লিখনটোফাইল করবে: পরমাণুভাবে: ওভাররাইট ডেটা?


93

সত্যিই সহজ প্রশ্ন তবে এটি অ্যাপলের ডক্সে পরিষ্কার বলে মনে হচ্ছে না।

উইল writeToFile:atomically:জন্য NSData, NSArrayএকটি ফাইল-এ ইত্যাদি ঊর্ধ্বলিপি বিদ্যমান তথ্য?

উত্তর:


214

হ্যাঁ. এটা হবে।

30 টি অক্ষরের সীমাটি পাস করার জন্য এখানে কয়েকটি অক্ষর রয়েছে।


20
আপনি এটি পরমাণুভাবে করেন বা না করেন তা বিবেচনাধীন নয়; উভয় ক্ষেত্রেই, ফাইলটি সম্পূর্ণ নতুন ডেটা দিয়ে ওভাররাইট করা হবে।
বিজে হোমার

আহ, তবে আমার জন্য এটি ব্যর্থ হয়েছে এবং মূল ফাইলটি অক্ষত। যেমন WritToFile কোনও এনএসইররার ফেরায় না, আমি কীভাবে ব্যর্থতাটি তদন্ত করতে পারি? এটি কোনও অনুমতি সংক্রান্ত সমস্যা হতে পারে তবে আমি নিশ্চিত হতে পারি না। আমার কোডটি একটি ইনস্টলার প্লাগইন বান্ডিল হিসাবে চালিত হয়, একটি ইনস্টলেশন প্যাকেজের জন্য যা রুট সুবিধাগুলির দাবি করে - আমি জানি না যে কীভাবে আমার কোডটি চালানো হচ্ছে সেগুলির সুযোগগুলি যাচাই / মুদ্রণ করতে পারি।
মোটি শ্নের

4
@ মোটি শ্নিয়র আপনি -writTo URL ব্যবহার করতে পারেন: বিকল্পগুলি: ত্রুটি: পরিবর্তে, যার কোনও ত্রুটি পরামিতি রয়েছে।
বিজে হোমার

7

হ্যাঁ বা না যাই হোক না কেন পদ্ধতি writeToFile:atomically: সর্বদা ওভারউইট ফাইল করুনatomically:

অ্যাপল ডক্স থেকে তথ্য (এনএসডিটা, বিভাগ "সংরক্ষণের ডেটা"):

এনএসডিটা ক্লাস এবং এর সাবক্লাসগুলি তাদের সামগ্রীগুলি ডিস্কে দ্রুত এবং সহজেই সংরক্ষণ করার জন্য পদ্ধতি সরবরাহ করে। ডেটা ক্ষতির ঝুঁকি হ্রাস করতে, এই পদ্ধতিগুলি ডেটাটিমিকভাবে সংরক্ষণের বিকল্প সরবরাহ করে। পারমাণবিক লিখেছেন গ্যারান্টি যে ডেটা হয় সম্পূর্ণরূপে সংরক্ষণ করা হয়, বা এটি সম্পূর্ণরূপে ব্যর্থ হয়। অস্থায়ী ফাইলে ডেটা লেখার মাধ্যমে পারমাণবিক রচনা শুরু হয়। যদি এই লেখাটি সফল হয়, তবে পদ্ধতিটি অস্থায়ী ফাইলটিকে তার চূড়ান্ত স্থানে নিয়ে যায়।

ফাইল উপস্থিত কিনা তা যাচাইয়ের বিষয়ে একটিও শব্দ নেই।

উদাহরণস্বরূপ, পদ্ধতির জন্য copyItemAtPath:toPath:error:ডক্স (NSFileManager, বিভাগ আলোচনা) বিশেষভাবে যেমন পরীক্ষণ সম্পর্কে লিখিত:

যদি একই নামের একটি ফাইল ইতিমধ্যে ডিএসটিপথে উপস্থিত থাকে তবে এই পদ্ধতিটি অনুলিপিটি বন্ধ করে দেয় এবং একটি উপযুক্ত ত্রুটি প্রদান করে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.