প্রশ্নটি সহজ: আপনি কীভাবে UITableViewCell
Xib ফাইলগুলি থেকে কাস্টম লোড করবেন ? এটি করার ফলে আপনি আপনার ঘরগুলি ডিজাইনের জন্য ইন্টারফেস বিল্ডার ব্যবহার করতে পারবেন। স্মৃতি ম্যানেজমেন্ট সমস্যার কারণে উত্তর আপাতদৃষ্টিতে সহজ নয়। এই থ্রেডে সমস্যাটির কথা উল্লেখ করা হয়েছে এবং এর সমাধানের পরামর্শ দেওয়া হয়েছে তবে এটি এনডিএ-প্রকাশের পূর্ব এবং কোডটির অভাব রয়েছে। এখানে একটি দীর্ঘ থ্রেড যা একটি সুনির্দিষ্ট উত্তর না দিয়ে বিষয়টি নিয়ে আলোচনা করে।
এখানে আমি ব্যবহার করেছি এমন কিছু কোড রয়েছে:
static NSString *CellIdentifier = @"MyCellIdentifier";
MyCell *cell = (MyCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
NSArray *nib = [[NSBundle mainBundle] loadNibNamed:CellIdentifier owner:self options:nil];
cell = (MyCell *)[nib objectAtIndex:0];
}
এই কোডটি ব্যবহার করতে, MyCell.m / .h তৈরি করুন, এর একটি নতুন উপক্লাস তৈরি করুন এবং আপনার পছন্দসই উপাদানগুলির জন্য UITableViewCell
যুক্ত করুন IBOutlets
। তারপরে একটি নতুন "খালি XIB" ফাইল তৈরি করুন। আইবিতে Xib ফাইলটি খুলুন, একটি UITableViewCell
অবজেক্ট যুক্ত করুন, "মাইসেলআইডিটিফায়ার" এর শনাক্তকারীকে সেট করুন এবং এর ক্লাসটি মাইসেলে সেট করুন এবং আপনার উপাদানগুলি যুক্ত করুন। অবশেষে IBOutlets
উপাদানগুলির সাথে সংযোগ করুন । নোট করুন যে আমরা আইবিতে ফাইলের মালিক সেট করি নি।
অন্যান্য পদ্ধতিগুলি ফাইলের মালিক সেট করার পক্ষে এবং যদি অতিরিক্ত কারখানার শ্রেণীর মাধ্যমে Xib লোড না করা হয় তবে মেমরি ফাঁস সম্পর্কে সতর্ক করে। আমি উপরের সরঞ্জাম / লিকগুলির অধীনে পরীক্ষা করেছি এবং কোনও মেমরি ফাঁস দেখিনি।
তাহলে Xibs থেকে ঘর লোড করার আধ্যাত্মিক উপায় কী? আমরা কি ফাইলের মালিক সেট করব? আমাদের কি কারখানা দরকার? যদি তা হয় তবে কারখানার কোডটি কেমন? যদি একাধিক সমাধান থাকে তবে আসুন তাদের প্রত্যেকের উপকারিতা এবং মতামত পরিষ্কার করুন ...