Latest 1.5
Homepage https://github.com/omidgolparvar/PersianSwift
License MIT
Platforms ios 9.3
Authors

CocoaPods Compatible
Platform

کتابخانه `PersianSwift` یک کتابخانه نوشته شده برای زبان برنامه‌نویسی `Swift` هستش که استفاده از این زبان برنامه‌نویسی رو برای زبان فارسی راحت‌تر و شیرین‌تر می‌کنه.
برای راحتی بیشتر موقع استفاده، بیشتر امکانات این کتابخونه از طریق `Extension`های تعریف شده برای انواع داده در `Swift` در دسترس هست.
مثلا با استفاده از ابزار زیر، مقدار عددی `12345` به مقدار متنی متناظر باهاش و همراه با اعداد فارسی در دسترس هست:
let int = 12345
let persianString = int.PS_stringWithPersianDigits // ۱۲۳۴۵

نحوه نصب

با استفاده از
CocoaPod
خیلی راحت می‌تونین این کتابخونه رو به پروژه خودتون اضافه‌اش کنین.
pod 'PersianSwift'
بعد از نصب می‌تونین هرجایی که خواستین اون رو `import` کنین و از امکاناتش استفاده کنین.
import PersianSwift
در ادامه توضیحات مفصل قسمت‌های پیاده‌سازی شده رو نشون میدیم.

استفاده از دستورات آماده شده

متون یا همون String

  • چک کردن اینکه متن مورد نظر شماره تلفن موبایل باشه
String.PS_isPersianPhoneNumber -> Bool
  • تبدیل شده متن موجود، بهمراه تبدیل اعداد از به فارسی و یا لاتین
String.PS_withPersianDigits -> String
String.PS_withEasternDigits -> String

String.PS_toPersianDigits() -> Void
String.PS_toEnglishDigits() -> Void
  • تبدیل کاراکترهای خاص در متن فارسی (حروف ک عربی و ی عربی)
String.PS_withFixedPersianCharacters -> String
String.PS_fixPersianCharacters() -> Void
  • تبدیل شده متن موجود، بهمراه ظاهر قیمت

    اگه متن ما ساختار عددی مثل `”12345″` نداشته باشه، خروجی `nil` میشه.

String.PS_withIranRialStyle -> String?
String.PS_withIranTomanStyle -> String?
String.PS_withCurrencyStyle -> String?
  • تبدیل متن با ساختار تاریخ، به تاریخ شمسی متناظر با اون

    اگه متن ما ساختار تاریخ مثل `”2017-06-03 17:23:41″` رو نداشته باشه، خروجی `nil` میشه. البته فرمت ورودی رو میتونین موقع استفاده از این متد تنظیم کنین.

String.PS_asPersianDate(fromGregorianFormat: String) -> String?

اعداد مثل Int Double Float

برای این نوع داده‌ها، اول یه `protocol` به اسم `Numeric` تعریف شده و بعد نوع‌های `Int, Double, Float` این پروتکل رو استفاده کردن.
public protocol Numeric {}

extension Int    : Numeric {}
extension Double : Numeric {}
extension Float  : Numeric {}
بعد به اون پروتکل تعریف شده، موارد زیر اضافه شدن.
  • دریافت عدد بصورت متن
Numeric.PS_string -> String
  • دریافت عدد بصورت متن بهمراه اعداد فارسی
Numeric.PS_stringWithPersianDigits -> String
  • دریافت عدد بصورت متن و با ظاهر قیمت
Numeric.PS_stringWithCurrencyStyle -> String

موارد مربوط به تاریخ یا همون Date

با استفاده از موارد آماده شده، میتونین خیلی راحت یه تاریخ رو به شمسی تبدیل کنین. به عنوان مثال با استفاده از `timeinterval` دریافتی از وب‌سرویس، یه تاریخ بسازین. و بعد خیلی راحت اون رو به تاریخ شمسی تبدیل کنین.
نام موارد آماده شده و نمونه خروجی‌شون توی مثال زیر آورده شده:
let date = Date(timeIntervalSince1970: TimeInterval(exactly: 629152200)!)
_ = date.PS_asPersianDate // شنبه ۱۸ آذر ۱۳۶۸
_ = date.PS_asFullPersianDateTime // شنبه ۱۸ آذر ماه ۱۳۶۸ ساعت ۱۲:۰۰:۰۰ قبل از ظهر

آرایه‌ها

آرایه‌های متنی یا همون [String]

  • به ترتیب کردن آرایه‌ای از String و دریافت خروجی

    این دستور روی آرایه‌ای از `String` اعمال میشه و اون رو بطور صعودی به ترتیب میکنه و بعنوان خروجی برمیگردونه.

[String].PS_sortedPersianStrings
  • به ترتیب کردن درجای آرایه‌ای از String

    این دستور هم روی آرایه‌ای از `String` اعمال میشه و خود اون آرایه رو درجا به ترتیب میکنه. موقع استفاده از این دستور میتونین صعودی یا نزولی بودن ترتیب رو انتخاب کنین.

[String].PS_sortPersianStrings(desc: Bool)

همکاری

هرگونه همکاری و همفکری به شدت و با آغوش باز پذیرفته میشه. پس بیاین همدیگه رو در آغوش بگیریم!!! 😆😂😋

Latest podspec

{
    "name": "PersianSwift",
    "version": "1.5",
    "summary": "PersianSwift adds Persian to Swift!",
    "description": "Using PersianSwift helps us to reduce coding.",
    "homepage": "https://github.com/omidgolparvar/PersianSwift",
    "license": {
        "type": "MIT",
        "file": "LICENSE.md"
    },
    "authors": {
        "Omid Golparvar": "[email protected]"
    },
    "source": {
        "git": "https://github.com/omidgolparvar/PersianSwift.git",
        "tag": "1.5"
    },
    "platforms": {
        "ios": "9.3"
    },
    "source_files": "Source/*.swift",
    "pushed_with_swift_version": "3.0"
}

Pin It on Pinterest

Share This