• Stars
    star
    151
  • Rank 244,544 (Top 5 %)
  • Language
    Objective-C
  • Created almost 9 years ago
  • Updated over 7 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

ReactiveCocoa-MVVM-AFNetworking-FMDB小项目框架设计

ReactiveCocoa-MVVM-AFNetworking-FMDB

ReactiveCocoa-MVVM-AFNetworking-FMDB小项目框架设计。需要自行 pod install

详细介绍见:

小项目框架设计(ReactiveCocoa+MVVM+AFNetworking+FMDB)

工程目录

  1. 【Module】+【Model】

    在这个目录中,比较核心的是【Module】与【Model】,他们组成了整个MVVM框架。

    【Module】与【Model】均包含【Base】,其中有BaseModelBaseViewModelBaseViewController。在开发中,我还是习惯无论是否需要基类,都去写一个。难免开发之初就考虑到,也难免之后需求会变更。

  2. 【Interface】接口

    这是借鉴了Java中的接口思想,目的是为了统一方法名。例如里面的SQLInterface.h文件,就是一个对数据进行CRUD操作的protocol,并且可以规定里面的方法是否必须实现。

  3. 【Configuration】配置

    对项目的一些基本配置,如基本宏定义、常量、通知名,亦或是Cell的identifier。宏定义中一般包含项目基本属性,如:主色调、常用方法等。

    在提供的Demo中,我将SQL语句放在了SQL.h中,是因为SQL只有一个文件在引用,其中的定义方式是:

     static NSString * const selectArticleSQL = @"SELECT * FROM article";

    NotificationNames.h会在大部分文件中用到,所以使用UIKIT_EXTERN定义为了全局变量:

     -----.h
     
     UIKIT_EXTERN NSString * const LoadAllNotification;
     
     -----.m
     
     NSString * const LoadAllNotification = @"LoadAllNotification";
     

  4. 【Category】类目

    项目中没有打包的类目,例如给三方或系统类新增的一些方法。

最后

每个项目完后,都会有很多收获,有很多东西需要整理总结。写这篇博客的原因有两个:

原因之一:因为我在开发过程中踩了不少坑,可能开发到中途,发现框架设计不好。框架如何设计,并没有一个标准答案,而且设计思想,还需要在不断实践中得出,所以每次总结,是为了给自己看,也是为了帮到其他有同样困扰的朋友。

原因之二:也正是因为我不知道框架到底怎么样,所以写出来,让大家看看,都多多提出建议。谢谢。

More Repositories

1

STLoadingGroup

loading views
Swift
436
star
2

STColorfulTabBar

彩色的TabBar,加平滑的切换动画
Objective-C
170
star
3

STLoopProgressView

环形渐变进度条
Objective-C
152
star
4

C-Toturials

C语言教程
HTML
73
star
5

WKWebViewSimpleDemo

iOS8中WebKit库中的WKWebView简单使用方法,包括初始化,最基础的代理方法,以及JS加载。
Objective-C
64
star
6

10000-Animations

10000 Animations
Swift
62
star
7

STTinyPNG-Python

TinyPNG 批量压缩图片脚本
Python
61
star
8

STBLETool

Bluetooth Low Energy Tool
Objective-C
33
star
9

HappyLayerFriends

HappyLayerFriends
Swift
24
star
10

MasonryDemo

自动布局Masonry案例
Objective-C
24
star
11

STShareTool

常见的社会化分享,包含(QQ、QQ控件、微信好友、微信朋友圈、新浪微博)
Objective-C
24
star
12

ReactiveCocoaUtilityDemo

ReactiveCocoa实用案例
Objective-C
22
star
13

wordpress-api

wordpress的api接口
PHP
21
star
14

STFakeLabel

A 3D transform UILabel
Objective-C
20
star
15

Objective-C-Tutorials

Objective-C教程
HTML
16
star
16

STCardsMenu

Cards Menu Concept
Objective-C
11
star
17

BigHead

照片大头效果实现
Objective-C
10
star
18

WaterFlowLayoutDemo

瀑布流Demo
Objective-C
9
star
19

WebViewLoadHTMLImageAdaptiveDemo

Webview加载HTML代码时,图片尺寸自适应demo
Objective-C
9
star
20

C-Toturials-Demo

C语言教程Demo
8
star
21

STTool

Objective-C
7
star
22

POPDemo

用面向协议的思想打造菜单按钮
Swift
5
star
23

web2pdf

HTML
5
star
24

WeChatImagePickerDemo

微信选择图片demo
Objective-C
5
star
25

TJRNetworkConnection

自己封装的网络请求以及网络请求框架
Objective-C
4
star
26

hhhhh

hhhhh
Ruby
4
star
27

UILocalNotificationDemo

本地推送通知Demo,实现一个闹钟
Objective-C
3
star
28

AutolayoutKeyboardDemo

自动布局之键盘弹出动画
Objective-C
2
star
29

STMusicTool

Local music player
Objective-C
2
star
30

STAnimationTips

A little tips about animation
Swift
2
star
31

AsyncCallbackHell

Swift
2
star
32

Swift-Algorithms

《Manning Grokking Algorithms》
Swift
1
star
33

tiny-hexo-theme

Hexo Theme
CSS
1
star
34

STLoginAnimation

a smooth and cool animation of login
1
star
35

STConvertLL2MC

用于百度坐标拾取器,将经纬度转为MC坐标
Objective-C
1
star
36

alfred-wordflows

Ruby
1
star
37

STGIFTool

handle gif
Objective-C
1
star
38

STImageTool

handle image
Objective-C
1
star
39

LazyJun

1
star
40

STGalaxyView

A particle effects just like galaxy
Objective-C
1
star
41

LazyJunCore

An image tool box in Swift
Swift
1
star