অটো জেনারেটেড ক্লাসগুলির সলিউশন
এক্সকোডের কোড জেনারেটর থেকে (আইওএস 10 এবং উপরে)
যদি আপনি "আপনার ক্লাস" নামে একটি সত্তা তৈরি করেন তবে এক্সকোড স্বয়ংক্রিয়ভাবে "ডেটা মডেল ইন্সপেক্টর" তে একটি কোডজেন ধরণের ডিফল্ট হিসাবে "শ্রেণি সংজ্ঞা" বেছে নেবে। এটি নীচের ক্লাস তৈরি করবে:
সুইফ্ট সংস্করণ:
// YourClass+CoreDataClass.swift
@objc(YourClass)
public class YourClass: NSManagedObject {
}
উদ্দেশ্য-সি সংস্করণ:
// YourClass+CoreDataClass.h
@interface YourClass : NSManagedObject
@end
#import "YourClass+CoreDataProperties.h"
// YourClass+CoreDataClass.m
#import "YourClass+CoreDataClass.h"
@implementation YourClass
@end
আমরা এক্সকোডে "শ্রেণি সংজ্ঞা" এর পরিবর্তে কোডজেন বিকল্প থেকে "বিভাগ / এক্সটেনশন" বেছে নেব।
এখন, আমরা যদি কোনও এনাম যুক্ত করতে চাই, তবে যান এবং আপনার অটো-উত্পন্ন শ্রেণীর জন্য অন্য এক্সটেনশন তৈরি করুন এবং নীচের মতো এখানে আপনার এনাম সংজ্ঞা যুক্ত করুন:
// YourClass+Extension.h
#import "YourClass+CoreDataClass.h" // That was the trick for me!
@interface YourClass (Extension)
@end
// YourClass+Extension.m
#import "YourClass+Extension.h"
@implementation YourClass (Extension)
typedef NS_ENUM(int16_t, YourEnumType) {
YourEnumTypeStarted,
YourEnumTypeDone,
YourEnumTypePaused,
YourEnumTypeInternetConnectionError,
YourEnumTypeFailed
};
@end
এখন, আপনি যদি কোনও এনামের মধ্যে মান সীমাবদ্ধ রাখতে চান তবে আপনি কাস্টম অ্যাকসেসর তৈরি করতে পারেন। প্রশ্ন মালিকের দ্বারা গৃহীত উত্তর চেক করুন । অথবা আপনি নীচে যেমন কাস্ট অপারেটর ব্যবহার করে আপনার এনামগুলিকে সুস্পষ্ট রূপান্তর পদ্ধতিতে সেট করার সময় তা রূপান্তর করতে পারেন:
model.yourEnumProperty = (int16_t)YourEnumTypeStarted;
এছাড়াও পরীক্ষা করে দেখুন
এক্সকোড স্বয়ংক্রিয় সাবক্লাস জেনারেশন
এক্সকোড এখন মডেলিং সরঞ্জামে NSManagedObject সাবক্লাসগুলির স্বয়ংক্রিয় প্রজন্মকে সমর্থন করে। সত্তা পরিদর্শক ইন:
ম্যানুয়াল / কোনওটিই ডিফল্ট এবং পূর্ববর্তী আচরণ নয়; এই ক্ষেত্রে, আপনার নিজের সাবক্লাসটি প্রয়োগ করা উচিত বা এনএসম্যানেজডঅবজেক্ট ব্যবহার করা উচিত। শ্রেণি / এক্সটেনশন ক্লাসনাম + কোরডেটা জেনারেটেডপ্রোপার্টি জাতীয় নামের একটি ফাইলে একটি শ্রেণিবদ্ধকরণ উত্পন্ন করে। আপনাকে প্রধান শ্রেণি ঘোষণা করতে / বাস্তবায়ন করতে হবে (যদি ওবজে-সি-তে থাকে তবে একটি শিরোনামের মাধ্যমে এক্সটেনশনটি ক্লাসনেম। H নামে পরিচিতি আমদানি করতে পারে)। শ্রেণি সংজ্ঞা ক্লাসনাম + কোরিডাটা ক্লাসের মতো নামের সাবক্লাস ফাইলগুলি যেমন বিভাগ / এক্সটেনশনের জন্য উত্পন্ন ফাইল উত্পন্ন করে। উত্পন্ন ফাইলগুলি ডেরিভডটাতে স্থাপন করা হয় এবং মডেলটি সংরক্ষণের পরে প্রথম বিল্ডে পুনরায় তৈরি করা হয়। এগুলি এক্সকোড দ্বারাও সূচিত হয়, সুতরাং রেফারেন্সগুলিতে কমান্ড-ক্লিক করা এবং ফাইল-এর কাজ দ্বারা দ্রুত খোলার কাজ।
enum
?