آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

تشخیص وجود و یا عدم وجود آرایه

enaderlou  9 سال پیش  9 سال پیش
0 0

با سلام و احترام

من یه مجموعه ای از آرایه ها رو دارم و برخی به صورت روتین مقدار مشخصی دارن ولی برخی از مقادیرش کلا خالیه و حتی خونه های آرایه رو تشکیل هم نمیده و در واقع اول باید تشخیص بدم جنس آبجکتم از چه نوعیه 

چطور میشه وجود آرایه رو تشخیص داد؟ برای اینکه بهش شرط بدم بگم در صورت وجود آرایه فلان کار رو انجام بده

+1 0
سوالاتون واقعا برای بنده گنگه و نیاز به توضیح بیشتر داره ولی برای چک کردن اینکه آرایه خالی هست یا نه دوتا راه دارید. یکی اینکه چک کنید مقدار count آرایتون بیشتر از صفر باشه. یکی دیگه اینکه بعد از اسم آرایتون بنویسید .isEmpty و چک کنید که مقدار false رو برگردونه. (اگه آرایه پر باشه مقدارش false میشه و اگه خالی باشه مقدارش true میشه). اگه متوجه نشدید بگید بیشتر توضیح بدم. (9 سال پیش)
0 0
نه ممنون قسمت دوم جوابتون کاملا مربوط به سوال من بود ممنون (9 سال پیش)
0 0
میشه بگید این ارور دلیلش چیه؟ libc++abi.dylib: terminating with uncaught exception of type NSException (9 سال پیش)
 برای این سوال 7 پاسخ وجود دارد. مشاهده پاسخ صحیح
پاسخ به سوال 
alfredo  9 سال پیش
0 0

به احتمال زیاد شما یک دکمه یا هر شیء دیگه ای رو از استوری بورد به کلاستون متصل کرده بودید و بعدا یا اسمش رو در کلاستون تغییر دادید یا اسمش رو حذف کردید ولی همچنان اتصالش در استوری بورد برقرار هست و باعث کرش میشه ! حالا اگر توی استوری بورد روی آیکن زرد بالای کنترلرتون کلیک کنید و  از منوی سمت راست اون قسمت که اتصالات لایه ها به کلاستون رو نشون میده (مثل سمت راست عکسی که لینکش رو براتون میذارم یک علامت تعجب کوچیک کنار لایه ای که این اتفاق براش افتاده میبینید. فقط کافیه که همونجا روی ضربدر کنار علامت تعجب کلیک کنید و اتصال رو قطع کنید تا مشکلتون حل بشه.

https://i.stack.imgur.com/P25ao.png

پاسخ به سوال 
enaderlou  9 سال پیش
0 0

 libc++abi.dylib: terminating with uncaught exception of type NSException
+1 0
فکر میکنم علت این ارور اینه که کد شما محتوای خانه ای از آرایتون رو میخواد که وجود نداره ! یعنی اون آرایه یا خالیه یا مثلا ۳ تا ایندکس داره و شما ایندکس چهارم رو ازش درخواست کردید. (9 سال پیش)
پاسخ به سوال 
enaderlou  9 سال پیش
0 0

من فقط میخوام بدونم این ارور مفهومش چیه؟ آیا به آرایه ارتباط داره؟ 

پاسخ به سوال 
QUQU  9 سال پیش
+1 0

آره به آرایه ربط داره. شما میخوای به یه خونه از یه آرایه دست پیدا کنی که وجود نداره (مثلا یه آرایه 2 خونه ـای هست, شما میخوای خونه 3 ـومش رو بدست بیاری که باعث کرش میشه.)

0 0
خب من دلیلش رو نمیدونم چون قبلش شرط دادم که در صورت خالی نبودن شرط رو اعمال کنه . البته آرایه من به این شکله که گاهی کلا خالیه و شاید به همین دلیل شرط اعمال نمیشه . سوالم اینه اگه بخوام در swift شرطی رو برقرار کنم که تشخیص بدم نوع متغییرم چیست . یعنی چطور میتونم بگم اگر این متغییر یا آبجکت نوعش آرایه بود تازه برو دنبال خانه های آرایه (9 سال پیش)
+2 0
آرایه میتونه خالی نباشه ولی اون index ـی هم که شما میخوای رو نداشته باشه. فرض کن تو چک میکنی آرایه خالی نباشه و آرایه خالی نیست ولی بعد سعی میکنی به خونه سوم ـش دسترسی پیدا کنی و اپ کرش میکنه. چرا؟ چون آرایت 2 تا خونه بیشتر نداره مثلا. چه نیازی به این کار داری؟ ولی در کل با دستور is میتونی جنس یه آبجکت رو بفهمی. سرچ کن راجبش. ولی به نظرم نیازی به این کار نیست, چون تو میدونی فلان متغیر آرایه هست یا نیست, حالتی پیش نمیاد که ندونی! (9 سال پیش)
0 0
ببینید من آرایم کامنتهای داخل یک پست در یک سایته که ممکنه کلا هیچ ایندکسی نداشته باشه من وقتی دارم ایندکسهارو میخونم وقتی کامنتی وجود داره اوضاع اوکیه ولی وقتی پستی رو که کامنتی نداره بهش برمیخورم دیگه شرط خالی بودن اعمال نمیشه انگار تا پر نشه جنسش رو تشخیص نمیده آدرس تستی از قایل جیسونم رو توی این آدرس ببینید متوجه میشید در آرایه posts یه آرایه دیگه به نام comments هست که من به content داخل اون باید دسترسی داشته باشم لینک (9 سال پیش)
0 0
یه مثال کوچک تر و جمع و جور تر بنویسین تا بشه بررسی کرد. این لینک ـی که دادین 10000 خط ـ. (9 سال پیش)
0 0
در ضمن اطلاعات بیشتری بدین. یه نمونه از جیسون رو بدین, همچنین اون قسمت از کدتون که مشکل به هم میزنه. (9 سال پیش)
پاسخ به سوال 
enaderlou  9 سال پیش
0 0

این تصویر آرایه ایه که مشکل داره 

وقتی مشکل نداره داخلش یه آرایه به نام content هست مثل تصویر زیر

پاسخ به سوال 
QUQU  9 سال پیش
+1 0

 پاسخ صحیح

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

 for object in comments {
//کار هایی که میخواین با اون آبجکت های توی کامنت انجام بدین اینجا باید اعمال شه
...

}
پاسخ به سوال 
enaderlou  9 سال پیش
0 0

ممنون مرد شریف

فککنم کلا بیدلیل داشتم پیچیدش میکردم

الان تست کردم واقعا ممنون با اون حلقه که شما فرمودید کلی از مشکلاتم هم حل شد از جمله موضوع این پست

ممنون


پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .