سؤال

يا جميعاً، إليكم الصفقة...

لقد حصلت على UIImage الذي يتم تحميله في الخلفية عبر ملف NSURLConnection ضمن فئة فرعية UIImageView.حتى يتم الانتهاء من تنزيل البيانات، يتم عرض صورة العنصر النائب.ال UIImage يحتاج إلى استخدامها من قبل آخر، منفصل UIImageView, ، أيضًا.

المشكلة التي أواجهها هي أنه إذا قمت بتعيين الثانية UIImageViewimage الخاصية إلى كائن الفئة الفرعية قبل اكتمال التنزيل، والثانية UIImageView لا يعرض أبدًا الصورة التي تم تنزيلها، لأنها كذلك image يشير الدعامة إلى العنصر النائب.

هل هناك أي طريقة لتمرير مؤشر إلى مؤشر بين هذين UIImageViews؟

لقد جربت أشياء مثل هذا:

imageView2.image = &[imageView1 image];
imageView2.image = *[imageView1 image];

ولكن يبدو أن هذه لا تعمل.أيه أفكار؟

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

المحلول

تبدو تلك المؤشرات إجمالية بشكل خاص.المشكلة في القيام بذلك بهذه الطريقة هي أنه على الرغم من أنك قد تقوم بتحديث البيانات التي تشير إليها تلك المؤشرات، إلا أنك لا تقوم بإخطار UIImageView الفئات الفرعية التي تغيرت بياناتها، وبالتالي لا يعرفون كيفية إعادة رسمها.

بدلاً من اللعب بفوضى المؤشر، لماذا لا تستخدمه مراقبة القيمة الرئيسية بدلاً من؟إذا كان لديك موضوع منفصل قيد التشغيل يقوم بتنزيل ملف UIImage, ، يمكنك فقط أن تقول الخاص بك UIImageViewيجب ملاحظة هذه الخاصية وعندما تنتهي فئة التنزيل من تنزيل جميع البيانات ووضعها في الخاصية، ستتلقى العروض إشعارًا ويمكنها بعد ذلك عرض الصورة.

نصائح أخرى

ألا يمكنك التقاط الاتصالDidFinishLoading:رسالة من NSURLConnection ثم قم بتعيين الصورة الثانية؟

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