objection来模块化开发iOS项目

objection 是一个轻量级的依赖注入框架

「依赖注入」是面向对象编程的一种设计模式,用来减少代码之间的耦合度。通常基于接口来实现,也就是说不需要new一个对象,而是通过相关的控制器来获取对象。2013年最火的PHP框架 laravel 就是其中的典型。

具体使用如下:

1、首先创建

protocol文件

@protocol PPHomeViewControllerProtocol <NSObject>

@end

2、初始化

+ (void)load
{
    JSObjectionInjector *injector = [JSObjection defaultInjector];
    injector = injector ? : [JSObjection createInjector];
    injector = [injector withModule:[[self alloc] init]];
    [JSObjection setDefaultInjector:injector];
}

- (void)configure
{
    [self bindClass:[HomeViewController class] toProtocol:@protocol(PPHomeViewControllerProtocol)];
}

3.获取对象

UIViewController <PPHomeViewControllerProtocol> *oneVc = [[JSObjection defaultInjector]getObject:@protocol(PPHomeViewControllerProtocol)];

参考 :http://blog.jobbole.com/66929/

时间: 2024-10-29 10:54:05

objection来模块化开发iOS项目的相关文章

Swift开发iOS项目实战视频教程(一)---iOS真简单

本课主要介绍iOS项目的创建.第一个iOS项目的开发.UILabel.UIButton的使用. 假设你看完此视频还认为iOS非常难,请你来找我! 本教程摒弃枯燥的语法和知识解说,全是有趣有料的项目实战! 视频链接:v.youku.com/v_show/id_XNzI4NDQzNDIw.html 高清视频下载:pan.baidu.com/s/1ntHl79B 代码下载:pan.baidu.com/s/1bn3sKsZ swift交流群:307561190

Swift开发iOS项目实战视频教程(二)---图片与动画

本课主要介绍UIImageview.NSTimer的使用.并介绍了一种动画实现方式. 本教程摒弃枯燥的语法和知识解说.全是有趣有料的项目实战! 视频优酷链接:v.youku.com/v_show/id_XNzI4NDkxNjg0.html 高清视频下载:pan.baidu.com/s/1mgp3kP6 代码下载:pan.baidu.com/s/1gdIJEnx swift交流群:307561190

有想做兼职的,有能开发IOS项目+上架苹果APP Store的,找我!

"高薪"寻<卡审核的~没上过架的>IOS马甲包技术!"一带一路"教你上架方案,能长期合作的私聊! ①,我们所提供的资料:1,专属美工作图(icon,启动页,介绍图)2,开发者账号,推送账号. ②,不限制类型应用,需求:一,应用尽量3个页面以上(包含三个)不要计算器之类的应用.二,不要有任何侥幸心里,尽量不要用网上的源码. ③,只负责上线到App Store,下架跟你没有任何关系. 最后:寻<卡审核的~没上过架的>IOS技术程序员!"

使用Swift开发iOS项目、UI创建、方法调用

//1.root控制器的创建 ? ? ? ?var?rootCtrl =RootViewController() ? ? ? ?var?root:UINavigationController?=UINavigationController(rootViewController:?rootCtrl) ? ? ? ?self.window!.rootViewController?= root //2.tab控制器的创建 ? ? ? ??var?tab =UITabBarController() ?

iOS开发笔记--使用CocoaPods来管理iOS项目的依赖库

原文地址:http://blog.devdong.com/blog/2013/12/28/shi-yong-cocoapodslai-guan-li-iosxiang-mu-de-yi-lai-ku/ 前言 细细算来,我接触iOS已经有1.5f年的时间了,虽然其中有差不多一年的时间是在大四经历自学和实习的这个阶段.抛去那段时间不算,毕业后在现在的公司工作差不多半年了… 在经历过的几个项目上基本上每一个都会用到第三方开源库,比如SDWebImage.AFNetworking.MBProgressH

iOS中的模块化开发思路一

我想不光是在iOS开发中,在其他各种软件产业开发中,模块化开发是必不可少的一种开发模式. 那么,在iOS中如何做到模块化开发.小伙伴们之间并行的有规矩的开发.集成.代码了?答案是,设计模式出.依赖抽象,不依赖具体实现. 第一步,拿到每一个模块的开发任务的小伙伴们,首先不要马上去写各种viewController.subViews.networkApi.dataBaseApi.entity.... .我想的是,我们应该定义一下接口,告诉其他调用这个模块的小伙伴们,我们这个模块能够干一些什么...

ios项目开发汇总

UI界面 iOS和Android 界面设计尺寸规范  http://www.alibuybuy.com/posts/85486.html iPhone app界面设计尺寸规范  http://www.wufangbo.com/ios-iphone-app/ iOS界面设计切图小结  http://www.apkbus.com/android-140341-1-1.html @2x图片等适应不同分辨率手机   http://blog.sina.com.cn/s/blog_945590aa0101c

ios项目开发(天气预报项目):使用正则获取 weather.com.cn网站信息

[objc] view plaincopyprint?在CODE上查看代码片派生到我的代码片 <pre code_snippet_id="346208" snippet_file_name="blog_20140515_1_2220869" name="code" class="cpp">- (NSString *)hmacsha1:(NSString *)text key:(NSString *)secret {

iOS开发——完整项目实战OC篇&amp;百思不得姐第四天

iOS开发——完整项目实战OC篇&百思不得姐第四天 上午 一:自定义按钮使用九宫格布局 二:控件不能点击 三:获取用户点击了那个按钮 四:调整按钮内部控件的位置:主流->上下 五:不能直接使用self.navigationController中或者View中获取导航控制器 方法一: 方法二: 六:布局取整 1 // 总行数 2 3 // NSUInteger rows = sqaures.count / maxCols; 4 5 // if (sqaures.count % maxCols)