iPhone Coredata - كيفية جلب الكائنات المدارة، وفرزها تتجاهل القضية؟

StackOverflow https://stackoverflow.com/questions/2013158

سؤال

هل يعرف أحد كيفية جلب بعض النتائج فرزها أبجديا ولكن تجاهل القضية؟

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

المحلول

شكرا لردكم، لكنني بحاجة إلى فرز نتيجة تتجاهل "الاستعلام" بسيط. ينطبق اقتراحك على البحث والمقارنة.

SQL يتحدث، أحتاج إلى ORDER BY firstName ASC, ، يجب أن يكون هذا الأمر غير حساس لحالة استخدامي.

لقد فعلت بعض googling وانتهت في قراءة مرجع الطبقة NSSortDescriptor, ، ويمكن أن أجد الإجابة على سؤالي. الحل هو إعداد محدد إلى واصف الفرز على النحو التالي:

NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"firstName" ascending:YES selector:@selector(caseInsensitiveCompare:)];

آمل أن يكون مفيدا لمزيد من الناس.

نصائح أخرى

إذا تم توطين التطبيق بعدة لغات، فيرجى النظر في استخدام localizedCaseInsensitiveCompare: محدد بدلا من caseInsensitiveCompare. وبعد سيكون له تأثير لتجنب الحرف "É" لتكون بعد الحرف "E".

NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"firstName" ascending:YES selector:@selector(localizedCaseInsensitiveCompare:)];

تفحص ال دليل البرمجة nspreasicate, ، ولكن استخدام أساسا [C] لتجاهل الحالة:

@"firstName BEGINSWITH[c] $FIRST_NAME"

نسخة سريعة:

let sortDescriptor = NSSortDescriptor(key: "firstName", ascending: true, selector: #selector(NSString.localizedCaseInsensitiveCompare))
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top