Skip to content

PFei-He/Project-ObjC

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

License MIT Support

快速开发集成框架

版本

0.1.0

说明

关于项目

本项目既是一个iOS开发的示例工程,也是一个可用于快速开发的集成框架,为iOS初学者、工程管理能力较弱以及需要进行快速工程搭建的开发者提供一个基础的框架。
本项目已嵌入了以下能力:

  • CocoaPods
  • 网络请求
  • KVC解析JSON
  • XML转化JSON
  • 二维码生成和扫描
  • 文件管理

目录解释

Project使用MVVM架构搭建,共分为2个目录,3个部分。

  • Pods - CocoaPods目录,集合了工程使用的所有第三方类库,用于作为工程底层的支持。
  • Project - 工程目录,项目开发的目录。开发者在本层进行开发工作。
    • Project - 包含有App开发的代码,资源,配置文件等。
    • Base Framework - 基础框架目录,提供工程使用的基础父类,提供快速开发的基本能力。

关于Swift

Project提供了Swift版本以便使用。点我跳转Project-Swift

示例代码

声明:示例使用的是中国天气网提供的开放接口,如有侵权,请告知!

API

{
    "api":["101010100.html", //北京天气接口
           "101020100.html", //上海天气接口
           "101280101.html"] //广州天气接口
}

Model

//发送请求
- (void)send
{
    @weakify_self
    [self send:^(id JSON) {
        @strongify_self
        if (JSON) {
            WeatherModel *model = [WeatherModel modelWithJSON:JSON];
            WeatherResult *result = [WeatherResult modelWithJSON:model.weatherinfo];
            [self finishedWithSuccessResult:result];
        } else {
            [self finishedWithFailureResult:@"请求失败"];
        }
    }];
}

ViewModel

//添加网络请求
[self addRequests:@[self.req?self.req:(self.req=[WeatherRequest new])]];
//请求成功
- (void)requestSuccess
{
    WeatherResult *result = (WeatherResult *)self.successObject;
    self.cityLabel.text = result.city;
    self.temperatureLabel.text = [NSString stringWithFormat:@"%@%@", result.temp, @""];
}

更多

更多功能请下载查看DEMO

文件模板使用(Xcode 7+)

请将下载到的Project Class.xctemplate放置于~/Library/Developer/Xcode/Templates/File Templates/Source/文件夹下,如过程中没有此些文件夹,请自行创建。

Screenshot

模板中带有以下的类,请开发者自行选择继承

  • BaseModel - 基础数据模型
  • BaseRequest - 基础请求处理
  • BaseCollectionViewController - 基础图表视图控制器
  • BaseTableViewController - 基础列表视图控制器
  • BaseViewController - 基础视图控制器

开源声明

本类库使用了以下类库

许可证

Project使用 MIT 许可证,详情见 LICENSE 文件。

About

快速开发集成框架

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published