سؤال

بحثت في النت والكتب عن الجواب ولم أجده.(ممكن لأني بحثت بطريقة خاطئة أو الكل يعرف إجابته إلا أنا)

لذلك مشكلتي هي مثل هذا:لدي عرض (تم إنشاؤه في Interface builder) لأنني أعلم أنني سأحتاج إلى المزيد من طرق العرض التي تبدو متشابهة.أعرف كيفية إضافة عرض واحد (أو أكثر)، لكن المشكلة هي أنني لا أعرف عدد المنتجات الموجودة في قاعدة البيانات.لذا، بالنسبة لكل منتج، سأحتاج إلى إضافة عرض آخر ببيانات مختلفة.المشكلة الوحيدة الآن، كيف يمكنني إضافة تلك المشاهدات المتعددة؟

إذا كان هناك دائمًا 5 منتجات، فيمكنني القيام بذلك على النحو التالي:

ProductController *productfirstController;
ProductController *productsecondController;
...
[scrollview addSubview:productfirstController.view];
[scrollview addSubview:productsecondController.view];
...

لكن كما ترون، هذه طريقة فظيعة للبرمجة.

فكرتي الأولى كانت إذا كان بإمكاني استخدام سلسلة مثل هذه:(iInt عبارة عن عدد صحيح في a for lus، وفي النهاية يضيف 1)

NSString *productController = "productController%d',iInt;

لكن هنا لم أستطع المضي قدمًا.

هل لدى أحد فكرة كيف يمكنني حل هذه المشكلة؟

شكرا لك مقدما!

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

المحلول

بدلاً من استخدام المتغيرات الفردية لطرق العرض، استخدم NSArray.استخدم حلقة لإضافتها إلى NSArray و scrollview.وهنا بالتفصيل:

NSArray *productViews = [[NSArray alloc] init];

ProductController *productController;
for (...) {
    productController = [[ProductController alloc] init...];

    [scrollview addSubview:productfirstController.view];
    [productViews addObject:productfirstController];
    [productController release];
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top