কীভাবে একটি এনএসএসেট থেকে কোনও এনএস মিটেবলআরে ফেরানো যায়


104

আমি একজন বিষয়বস্তু করিয়ে দিতে পারবে আছি NSSetএকটি মধ্যে NSMutableArrayভালো:

NSMutableArray *array = [set allObjects];

সংকলক যদিও অভিযোগ করে কারণ [সেট allObjects] একটি NSArrayনয় একটি প্রদান করে NSMutableArray। এটি কীভাবে ঠিক করা উচিত?

উত্তর:


218

যেহেতু -allObjectsএকটি অ্যারে প্রদান করে, আপনি এর সাথে একটি পরিবর্তনীয় সংস্করণ তৈরি করতে পারেন:

NSMutableArray *array = [NSMutableArray arrayWithArray:[set allObjects]];

অথবা, বিকল্প হিসাবে, আপনি যদি অবজেক্টের মালিকানা পরিচালনা করতে চান:

NSMutableArray *array = [[set allObjects] mutableCopy];

7
দ্রষ্টব্য: যদি setহয় তবে দুটি পদ্ধতির মধ্যে একটি সূক্ষ্ম পার্থক্য রয়েছে nil
জাচ ল্যাংলি

-1

আমি ব্যবহার দ্বারা বিপর্যয় সমাধান NSMutableArray এর পদ্ধতি 'addObjectsFromArray' সব দায়িত্ব অর্পণ করা NSSet অবজেক্টস NSMutableArray মত:

[mutableArray addObjectsFromArray:[cg_Schedule.schedule_Days allObjects]];

আশা করি এটি আপনাকে সহায়তা করবে।


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