اشکال و باگ در پروژه و سورس اصلی calculator
با درود و سلام خدمت شما،
باگ مشکل وارد کردن صفر و سپس ممیز و fatal error دادن برنامه
به محض وارد کردن 0 و سپس ممیز مثلا" وارد کردن " 0.5 " برنامه کرش میکند و fatal error میدهد لطفا" راهنمایی کنید چطور مشکل را حل کنم .در ضمن این مشکل در سورس اصلی برنامه نیز وجود دارد.
fatal error: unexpectedly found nil while unwrapping an Optional value
(lldb)
با تشکر
سلام ،
ممنون که اطلاع دادین .
این مشکل رو با نوشتن 2 خط دستور شرطی میشه حل کرد و با تغییر کد ها به شکل زیر مشکل بر طرف خواهد شد .
اما مشکل چی بود ؟
وقتی ما دکمه ممیز یا Point رو انتخاب میکنیم مقداری که روی آن پردازش انجام میشود "." هست و این مقدار قابل تبدیل به Double نیست .
برای رفع این مشکل دستورات رو به شکل بالا تغییر دادم که چند مرحله مختلف داره :
1- دستور if رو به بخشی که با شماره 4 مشخص شده انتقال دادم .
2- برای تمیز تر شدن کد به جای نوشتن sender.titleLable.text مقدارش رو داخل متغیری به اسم input ریختم ، این کار فقط جنبه تمیز تر شدن کد رو داره و میتونید انجام ندید .
3- دستور شرطی جدیدی که با شماره 3 نمایش داده شده را به کد ها اضافه کردم ، در واقع این دستوری هست که مشکل مارو حل میکنه و اگر ما ممیز انتخاب کنیم و مقدار داده ماشین حساب برابر صفر باشه به مقدار ".0" تبدیلش میکنه که قابل تبدیل به Double هست .
سورس موجود در سایت نیز اصلاح شده و نسخه جدید بارگذاری شد .
با تشکر
با تشکر از پاسخ شما آقای کاشی زاده گرامی .
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .

