Giter Site home page Giter Site logo

tliens / speedyswift Goto Github PK

View Code? Open in Web Editor NEW
486.0 13.0 71.0 15.27 MB

这是一个app开发的加速库。This is an accelerated library for app development

License: MIT License

Ruby 0.86% Swift 98.77% Python 0.37%
swift5 ios efficient application independent

speedyswift's Introduction

SpeedySwift

Pods Build Status Sponsors LICENSE Swift Xcode

这是一个app开发的加速库,我的几款app都是基于这个加速库完成的

《NOTO-极简任务清单》从开发到上线用时不到一天,也正是因为SpeedSwift,让我复用了绝大部分代码。

尽量保持开发的原汁原味,欢迎使用,喜欢star✨

我想目前Swift中没有比这个更合适的加速开发app的框架了,如果有请告诉我。

它也是进阶Swift的非常好的代码参考,如果你是独立开发者,那一定会让你惊喜的。

img

示例

2021-03-17 更新

  • 支持cocoapods
  • 完善类、方法权限关键字
  • 去除不合适的第三方库
  • 修改文件结构
  • 增加使用示例

特色:

如何使用

Pod导入

pod 很久没更新了,建议使用本地pod的形式引入,指定path

Pod导入

pod 'SpeedySwift'

要求:Swift5.0及以上

代码演示

  • 颜色
UIColor.hex("#22023b")
  • 底部安全区高度
let height = SS.safeBottomHeight
  • 不用关心方向的 SSCollectionViewLayout
let layout = SSCollectionViewLayout(longitude: 0, latitude: 10.scale, itemSize: CGSize(width: 130.scale, height: 139.scale), sectionInset: .init(top: 10.scale, left: 20.scale, bottom: 0, right: 20.scale), direction: .vertical)
  • 属性包裹器
/// codable👍
@Default<String.defalut> var name:String

/// 数据持久化👍
@UserDefault("had_shown_guide_view", defaultValue: false)
static var hadShownGuideView: Bool

  • 系统页跳转
/// 跳转到系统页面
static func systemJump(completionHandler completion: ((AppJumpStatus) -> Void)? = nil){
    let urlString = UIApplication.openSettingsURLString
    if let url: URL = URL(string: urlString) {
        App.jump(url: url, completionHandler: completion)
    }else{
        completion?(.fail)
    }
}
  • 增加通过cell上的控件获取cell、index
    /// 获取indexpath
    func indexPath(by child:UIView)->IndexPath?{
        let point = child.convert(CGPoint.zero, to: self)
        return self.indexPathForRow(at: point)
    }
    /// 获取cell
    func cell(by child:UIView)->UITableViewCell?{
        let point = child.convert(CGPoint.zero, to: self)
        if let indexPath = self.indexPathForRow(at: point){
            return self.cellForRow(at: indexPath)
        }
        return nil
    }

  • 其他
	/// app版本号
    static var version: String? {
        return Bundle.main.infoDictionary?["CFBundleShortVersionString"] as? String
    }
    /// 设备名称
    static var deviceName: String {
        return UIDevice.current.localizedModel
    }
    /// 设备方向
    static var deviceOrientation: UIDeviceOrientation {
        return UIDevice.current.orientation
    }
    /// 主窗口
    static var keyWindow: UIView? {
        return UIApplication.shared.keyWindow
    }
    /// 当前系统版本
    static var systemVersion: String {
        return UIDevice.current.systemVersion
    }
    /// 判断设备是不是iPhoneX
    static var isX : Bool {
        var isX = false
        if #available(iOS 11.0, *) {
            let bottom : CGFloat = UIApplication.shared.delegate?.window??.safeAreaInsets.bottom ?? 0
            isX = bottom > 0.0
        }
        return isX
    }

等你发现更多······

欢迎使用,喜欢请star✨

目录

  • Base:此文件夹中是基础类
  • Core:此文件夹中是UIKit+Foundation的扩展,建议你自己维护一套
  • SS.swift 是比较核心的类,为其增加了很多extension,方便快速使用,如:SS.log、SS.bundleID、SS.safeBottomHeight、SS.toast、SS.between...
  • SSDefault 属性包裹器的具体分装
  • SSCodableDefault 因为 权限问题没能解决,无法放到pod中,如果你有办法可以提交代码。
class Member:Codable {
    @SSCBD<Bool.defalut> var isOk:Bool
    @SSCBD<String.defalut> var name:String
    @SSCBD<Int.defalut> var age:Int
}
  • SSSandBox 沙盒相关操作
  • Tools 此文件夹中,包含:app之间跳转、网络检查、弹窗、震动反馈

img

我的其他开源框架

微信公众号:独立开发者基地

分享我的独立开发的故事,经验; Share stories and experiences of independent development.

公众号

speedyswift's People

Contributors

bear-evil avatar tliens avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

speedyswift's Issues

加速库是什么意思?

加速库

  • 乍一听还以为是网络优化的加速库。看文档应该指的是一个iOS Swift App的脚手架框架库吧。

使用方式

  • 使用方式提供的详细一点
  • 可以提供一个DEMO 或者Sample。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.