سؤال

إذا كنت يمكن أن تضيف أي شيء إلى الكاكاو ، ماذا ستكون ؟ هل هناك أي ميزات رئيسية أو ثانوية ، كنت أقول في عداد المفقودين في الكاكاو.ربما هناك عجلة كان لديك لابتكار مرارا وتكرارا بسبب سهو في الأطر?

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

المحلول

  • المدمج في دعم التعبير العادية (a la RegexKit) سيكون للغاية مفيد.NSRegularExpression متاح في دائرة الرقابة الداخلية 4.0+, لكنه لا يزال لا تتوفر على نظام التشغيل Mac OS X حتى الآن.

  • طريقة سهلة تدريجيا قراءة NSString الكائنات من ملف نصي بدون تحميل كامل شيء في الذاكرة.(NSInputStream و NSFileHandle فقط لا ترقى عن ذلك.)

  • القدرة على اختياريا جعل NSSet/NSMutableSet/NSCountedSet متجر تعداد الكائنات في ترتيب فرزها (مثل شجرة البحث الثنائية) سيكون بالتأكيد موضع ترحيب.الشيء نفسه ينطبق على الكاكاو المصفوفات — حاليا يجب أن أتصل شيء مثل -[NSArray sortedArrayUsingSelector:] أو -[NSMutableArray sortUsingSelector:] للحصول على مجموعة فرزها ، مجموعات لخلق مجموعة الأولى.

  • كومة / الأولوية في قائمة الانتظار.الكاكاو التفاف حول CFBinaryHeap (والتي هي بالتأكيد ليست سهلة لاستخدام الكاكاو مجموعات) سوف تعمل على الأرجح.

  • القاموس الذي يمكن تخزين قيم متعددة لكل مفتاح, المعروف باسم مولتيست.NSCountedSet حد كبير مولتيست/حقيبة, و سيكون من الجميل أن يكون لديك نفس قيمة المفتاح الجمعيات (NSMultiDictionary?) بدلا من الاضطرار إلى لفة بلدي.

  • ودية المجمع FSEvents.(CFFileDescriptor يفعل بعض العمل ، ولكن ليس الكاكاو سهلة.)

  • طريقة إنشاء NSString من سلسلة تنسيق و مجموعة من الكائنات (وليس فقط varargs). هذا الجواب يظهر مثال على ذلك.الحصول على العمل مع الأوليات ستكون صعبة...ربما NSPointerArray?

  • يتفق المركزية واجهات برمجة التطبيقات التي تبسط التنسيق (و تحليل) أرقام الهاتف لمجموعة متنوعة من اللغات.وحاليا لديك للفة الخاصة بك مع NSNumberFormatter (أو NSScanner) ، عملية مملة و عرضة للخطأ.(انظر على سبيل المثال NSNumberFormatter إلى شكل لنا أرقام الهاتف و إزالة جميع ولكن الأرقام من NSString.)

بالطبع, أنا بالتأكيد محبي مجموعة واسعة من هياكل البيانات بشكل عام ، على الرغم من الكاكاو البساطة هو منعش مقارنة مع بعض اللغات.

نصائح أخرى

وهناك طريقة لتحديد نسخ / الاحتفاظ الخصائص التي تم إصدارها تلقائيا في dealloc. ربما

@property (nonatomic, copy, dealloc) NSString* name;

وRegexKit بطبيعة الحال.

ودعم متعدد المستخدمين للبيانات الأساسية. يمكن للمرء أن يحلم :)
ولكن على الأقل هو متاح الآن على اي فون البيانات الأساسية مع OS 3.0.

وهناك طريقة للعلم كامل البيانات الأساسية كيانات كما عابرة. وهذا من شأنه أن يكون مفيدا بشكل خاص لتنفيذ تقاسم صباح الخير.

وعلى سبيل المثال، دعنا نقول لقد حصلت على نموذج مثل اي تيونز، مع الكيانات Playlist وSong. في الوقت الراهن، لتنفيذ تقاسم صباح الخير، أنا خلق اثنين من الفئات الفرعية NSObject إضافية، TransientPlaylist وTransientSong، التي تنفذ كل نفس الأساليب مثل نظرائهم البيانات الأساسية الخاصة بهم.

وأرجو أن لا تحتاج إلى <م> مزدوجة عدد الطبقات نموذج لمجرد الحصول على الإصدارات عابرة للكائنات بلدي - وليس عند I <م> تريد لهم التصرف في عينه، بلا المثابرة.

و(نعم، والخيار الآخر هو أن يكون هناك في الذاكرة مخزن المستمر الذي يضم جميع الكيانات كنت تريد أن تكون عابرة. وفي كلتا الحالتين، فإنه من الحمل غير الضرورية)

وA المجمع أكثر ودية حول سلسلة المفاتيح خدمات .

  • جيد دعم التعبير العادية
  • تخطيط المديرين في AppKit.Autoresizing فقط لا قطع عليه بالنسبة واجهات معقدة.

والدعم @property (..,copy) لفئات قابلة للتغيير نوع (NSMutableArray، NSMutableDictionary، وما إلى ذلك). حاليا، إذا قمت بتعيين قيمة الممتلكات لفئة نوع قابلة للتغيير وجوه خلق ستكون غير قابلة للتغيير (بسبب نسخة).

والدعم المناسب لخدمات الويب.

ويأتي في الكاكاو من العالم. NET لدي طلب واحد: LINQ

!

وعلى مدى الأشهر القليلة الماضية ولقد نمت لأحب أن أكون قادرا على استخدام LINQ على أي المجموعة التي تأتي بالقرب مني.

وبالتأكيد واجهة معقولة من إدارة سياقات الكائن إلى قاعدة بيانات SQL servers'd يكون باردا جدا.

وأود أن نرى أفضل الأمثلة على كتابة طرق عرض مخصصة مع الخلايا التي تم إنشاؤها برمجيا، كل autoscrolling لطيف.

وبالإضافة إلى ذلك، يبدو أن هناك فجوة حقيقية في دعم IB للنوافذ معقدة متعددة مجزأ مع الخطان العمل. أعتقد أنهم يعملون على ذلك؟

ومهما حدث لقرار الاستقلال، هاه؟

والمدمج في دعم JSON لواردات / الصادرات.

بالتأكيد النظير الكربون مفاتيح الاختصار!

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