سؤال

أتساءل عما إذا كان من الممكن استخدام KVC لإنشاء SQL. أنا أفعل خفيفة. أريد أن أفعل شيئًا كهذا (الرمز الكاذب):

for key in object.getKeys
    sql = sql + formatField(key,objet.value[key]);

واحصل على:

INSERT INTO Table (Field1) VALUES (1);

هل هذا ممكن في Objective-C؟

هل كانت مفيدة؟

المحلول 3

وجدت class_copyPropertyList بحيث تملأ الفاتورة.

أحصل على ذلك من كائنات SQLite المستمرة. أنا فقط بحاجة إلى معرفة كيف تنفيذ العلاقات ؛)

نصائح أخرى

لا يمكن لترميز القيمة الرئيسية القيام بذلك حقًا ، ولكن يمكنك استخدام NSDictionary لهذه المهمة إذا كنت لا ترغب في إنشاء طبقة وصول للبيانات محددة لكائناتك. إليك مثال سريع للحقول الرقمية:

for ( NSString *key in [dictionary allKeys] )
{
    fields = [fields stringByAppendingFormat:@", %@", key];
    values = [values stringByAppendingFormat:@", %ld", (long)[[dictionary objectForKey:key] integerValue]];
}

NSString *sql = [NSString stringWithFormat:@"INSERT INTO Table (%@) VALUES (%@);", fields, values];

ما تريده يبدو مشابهًا جدًا لكائنات SQLite المستمرة. إنها مجموعة من فئات Objective-C التي تفعل ما تتحدث عنه بشكل أساسي. يمكن العثور على تفاصيل حول الفصول والمصدر (والتي قد تكون مثيرة للاهتمام بشكل خاص إذا كنت ترغب في كتابة نسختك الخاصة) هنا: http://iphonedevelopment.blogspot.com/2008/08/sqlite-persistraft-objects.html

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top