امید گل پرور·۶ سال پیشپیادهسازی عملگر دلخواه در سوییفتداشتم در مورد «مطابقت الگو» توی سوییفت میخوندم، که یه عملگر چشمم رو گرفت!!؛ اونم عملگر اختصاصی سوییفت برای این کار بود: =~ . از این عملگر میشه بعنوان مثال، توی بررسی کد HTTP پاسخ سرور استفاده کرد؛ که مثلا اگه موفق نبوده، کد دریافتی توی چه محدودهای هست.if 400..<500 ~= error.code, error.code != 401 {...
امید گل پرور·۷ سال پیشمدیریت بهتر Extensionها در سوییفتیکی از باحالترین قابلیتهای زبان برنامهنویسی سوییفت، Extension و کاربردهای اونه. توی این مقاله نمیخوایم خود Extension و نحوه استفاده از اون رو یادآوری کنیم؛ ولی میخوایم یه راهکار معرفی کنیم، تا با استفاده از اون، استفاده از Extensionها یکم بهتر و باحالتر بشه. ?خ...
امید گل پرور·۷ سال پیشاستفاده از Breakpointهاتوى روند عیبزدایى و تست اپها، Breakpointها نقش خیلى مهمى دارن، و ایکسکد هم راه کارهاى جالبى براى استفاده از اونا ارائه میده. توى این متن، به بعضى از ترفندهایى که میشه موقع استفاده از Breakpointها بکار برد، اشاره میکنیم. خب. فرض میکنیم یه حلقه مثل کد زیر داریم:var sum = 0...
امید گل پرور·۷ سال پیشسطوح دسترسی در سوییفتخیلی سریع: سوییفت ۴ دارای ۵ سطح دسترسی مختلف هست. سطح دسترسی Openسطح دسترسی Open دارای حداقل محدودیت توی سطوح دسترسی هست. موجودیتهایی که با این سطح دسترسی تعریف میشن، خارج از ماژول (module یا target) خودشون میتونن مورد ا...
امید گل پرور·۷ سال پیشجایگزینی flatMap با compactMap در نسخه ۴.۱ سوییفتنسخه ۴.۱ زبان برنامهنویسی سوییفت بهمراه ایکسکد ۹.۳ (که در زمان نگارش این متن، هنوز بتاست) منتشر شده، و تغییرات جدیدی رو توی خود زبان و همینطور کتابخانههای استاندارد خودش داشته.استفاده از flatMap که روی انواع ترتیبی دادهها (مثل آرایهها) اعمال میشه، و تمام المانهایی که خروجیشون nil هست رو فیلتر میکنه، توی نسخه ۴.۱ با استفاده از مت...
امید گل پرور·۷ سال پیشاخطارهای مربوط به @objc بعد از مهاجرت به سوییفت ۴وقتی یه پروژه نوشته شده با سوییفت ۳ رو با ایکسکد نسخه ۹ باز میکنین، ایکسکد بهتون پیام میده که میتونین پروژه رو به نسخه ۴ سوییفت ارتقاء بدین. اگه این ارتقاء رو بپذیرین، ایکسکد یه پیام دیگه بهتون میده که «قوانین بررسی و استفاده متدها و مشخصههای @objc توی نسخه ۳ سوییفت، توی نسخه ۴ منقضی شدن». حالا این اخطارها چی هستن و چجوری رفع میش...
امید گل پرور·۷ سال پیشتنظیمات مربوط به حریم شخصی در اپهای آیاواس ۱۰از مدتها پیش، در سیستمعامل آیاواس، برای اینکه یه اپ بتونه به اطلاعات شخصی کاربر (مثل عکسها و یا مخاطبین) دسترسی داشته باشه، باید اول از کاربر سوال میکرد و ازش اجازه میگرفت. (البته این اجازه، در هر زمانی که کاربر بخواد، از طریق منو تنظیمات قابل ویرایش هست)توی نسخه ۱۰ از سیستمعامل آیاواس، اپل محدوده اطلاعاتی که جزء اطلاعات شخصی...
امید گل پرور·۷ سال پیشافزایش خودکار شماره ساخت اپ، توی ایکس کدخیلی سریع میریم سر اصل مطلب ?.توی پروژههای مربوط به برنامههای iOS، نسخه اپ، با دو تا عدد مشخص میشه. یکی شماره اصلی نسخه، و یکی دیگه شماره ساخت (یا همون Build Number) هست. ترکیب این دو تا عدد، نسخه اپ رو مشخص میکنه. این دو...