تشخیص وجود و یا عدم وجود آرایه
با سلام و احترام
من یه مجموعه ای از آرایه ها رو دارم و برخی به صورت روتین مقدار مشخصی دارن ولی برخی از مقادیرش کلا خالیه و حتی خونه های آرایه رو تشکیل هم نمیده و در واقع اول باید تشخیص بدم جنس آبجکتم از چه نوعیه
چطور میشه وجود آرایه رو تشخیص داد؟ برای اینکه بهش شرط بدم بگم در صورت وجود آرایه فلان کار رو انجام بده
به احتمال زیاد شما یک دکمه یا هر شیء دیگه ای رو از استوری بورد به کلاستون متصل کرده بودید و بعدا یا اسمش رو در کلاستون تغییر دادید یا اسمش رو حذف کردید ولی همچنان اتصالش در استوری بورد برقرار هست و باعث کرش میشه ! حالا اگر توی استوری بورد روی آیکن زرد بالای کنترلرتون کلیک کنید و از منوی سمت راست اون قسمت که اتصالات لایه ها به کلاستون رو نشون میده (مثل سمت راست عکسی که لینکش رو براتون میذارم یک علامت تعجب کوچیک کنار لایه ای که این اتفاق براش افتاده میبینید. فقط کافیه که همونجا روی ضربدر کنار علامت تعجب کلیک کنید و اتصال رو قطع کنید تا مشکلتون حل بشه.
libc++abi.dylib: terminating with uncaught exception of type NSException
من فقط میخوام بدونم این ارور مفهومش چیه؟ آیا به آرایه ارتباط داره؟
آره به آرایه ربط داره. شما میخوای به یه خونه از یه آرایه دست پیدا کنی که وجود نداره (مثلا یه آرایه 2 خونه ـای هست, شما میخوای خونه 3 ـومش رو بدست بیاری که باعث کرش میشه.)
این تصویر آرایه ایه که مشکل داره 
وقتی مشکل نداره داخلش یه آرایه به نام content هست مثل تصویر زیر

ببینین, comments یه JsonArray از JsonObject ها هست (آرایه ای از JsobObject ها). content هم آرایه نیست. شما باید به ازای تعداد ـ آبجکت هایی که توی comments هستن یکی یکی با یه حلقه for آبجکت هاش رو جدا کنین و اطلاعاتی که تو هر کدوم هست (مثل content, date , url و ...) رو بکشین بیرون. در ضمن شما هم لازم نیست خالی بودن یا نبودن آرایه comments رو چک کنین, کافیه یه for بزارین و همه آبجکت های توی comments رو بکشین بیرون. اگر هم خالی بود, خود حلقه for تشخیص میده و رد میشه ازش. این جوری مثلا :
(اگر متوجه نشدین این قسمت از کدتون رو قرار بدین تا بگم کجا رو اشتباه میکنین.)
for object in comments {
//کار هایی که میخواین با اون آبجکت های توی کامنت انجام بدین اینجا باید اعمال شه
...
}
ممنون مرد شریف
فککنم کلا بیدلیل داشتم پیچیدش میکردم
الان تست کردم واقعا ممنون با اون حلقه که شما فرمودید کلی از مشکلاتم هم حل شد از جمله موضوع این پست
ممنون
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .