سؤال

كيفية إدراج العناصر في كائن NSArray في C # (Monotouch)؟ لا أجد الطريقة المناسبة للقيام بذلك؟ في الجانب الهدف، هناك منشئ يسمى "initwithobjects" لكنني لا أجد هذا على الجانب C #.

بوم.

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

المحلول

آسف للإجابة على سؤالك مع سؤال، ولكن هل أنت متأكد أنك تريد إنشاء nsarray؟

أسأل لأن monotouch يفعل بعض العمل وراء الكواليس حتى لا تضطر إلى التعامل مع nsarray.

إذا ذهبت إلى صفحة تصميم API Monotouch والقيام بتفتيش داخل الصفحات عن "nsarray"، ستجد هذا:

بدلا من التعامل مع NSSTRING و NSARRAY، تعرض وقت التشغيل بدلا من ذلك كسلاسل C # وصفائف مكتوبة بشدة في جميع أنحاء API.

بمعنى آخر، ما لم يكن لديك سبب محدد ل، فلا تضطر إلى الفوضى مع NSArray.

ولكن، إذا كنت فعل لديك سبب، أو إذا كانت تفضيلاتك، فإن إجابة جيسون صحيحة:

NSArray someArray = NSArray.FromNSObjects(thingOne, thingTwo, thingThree);

الشيء الوحيد الذي أضيفه هو أنه، إذا كنت موضوعا - C ديف وإعطاء Monotouch محاولة، فأنت تعتاد على هذا:

NSArray *someArray = [NSArray arrayWithObjects:obj1, obj2, obj3, nil];

الفرق هو "NIL" في نهاية الإصدار الموضوعي. NSAray في Monotouch ليس لديه نفس المتطلبات. أنت فقط تمرهد الكائنات التي تريدها لاحتواءها، وذلك بسعادة ذلك. لا إنهاء null مطلوب :)

أتمنى أن يساعدك هذا...

نصائح أخرى

أنا لا أستخدم Monotouch - ولكن إذا كنت تتطلع إلى معالجة NSArray، فسترغب في استخدام ابن عمه، NSMutablerray.

يبدو أن هذه الطريقة الثابتة هي ما تريد:

public static NSArray FromNSObjects (params NSObject[] items);

تستخدم مثل هذا:

NSArray arr = NSArray.FromNSObjects(obj1, obj2, obj3);
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top