人在千锋--网络学习之开发项目爱限免

1、完整项目开发流程:

产品经理做需求调研,编写需求

产品经理完成产品原型

项目经理开会

美工配合产品经理出效果图,剪切图

ios,android分析需要分配任务,项目经理制定开发进度

服务端和客户端制定接口

客户端根据需求完成文档

2、版本控制的作用

多人协作开发项目:每个只修改自己的模板,修改过后需要同步每个修改版本控制,每个阶段代码都有版本

解决方法:使用版本控制工具

工具:SVN  GIB(开源世界比较流行)

3、Versions的使用

1、连接到SVN服务器

利用Versions工具

2、导入新的工程

原来的工程没有svn,可以删除原来的工程

3、检出checkout

检出的项目,有svn文件夹

4、更新 upadate (一更新别人的修改)

5、修改代码之后 commit ,版本号Base会改变

*/

4、封装Button和UIView

#import <UIKit/UIKit.h>

@interface ZJButton : UIButton
//点击后 执行block
//注意:block的属性修饰符必须是copy
@property(copy,nonatomic)void(^action)(UIButton *button);

@end
#import "ZJButton.h"

@implementation ZJButton

/*
// Only override drawRect: if you perform custom drawing.
// An empty implementation adversely affects performance during animation.
- (void)drawRect:(CGRect)rect {
    // Drawing code
}
*/

-(instancetype)initWithFrame:(CGRect)frame
{
    if (self=[super initWithFrame:frame]) {
        [self addTarget:self action:@selector(btnClick:) forControlEvents:UIControlEventTouchUpInside];
    }
    return self;
}
//让其去转而去执行block
-(void)btnClick:(UIButton *)button
{
    if (self.action) {
        self.action(self);
    }
}
@end
//=========================================
#import <UIKit/UIKit.h>

@interface UIView (LCQuickControl)
//添加系统按钮  void(^action)(UIButton *button)
-(UIButton *)addSystemButtonWithFrame:(CGRect )frame
                                title:(NSString *)title
                               action:(void(^)(UIButton *button))action;

//添加图片按钮
-(UIButton *)addImageButtonWithFrame:(CGRect )frame
                               title:(NSString *)title
                          background:(NSString *)backgroud
                               action:(void(^)(UIButton *button))action;

//添加图片视图
-(UIImageView *)addImageViewWithFrame:(CGRect)frame
                                image:(NSString *)image;
//添加lebel
-(UILabel *)addLabelWithFrame:(CGRect)frame
                         text:(NSString *)text;
@end

#import "UIView+LCQuickControl.h"
#import "ZJButton.h"

@implementation UIView (LCQuickControl)
//添加系统按钮
-(UIButton *)addSystemButtonWithFrame:(CGRect)frame title:(NSString *)title action:(void (^)(UIButton *))action
{
    ZJButton *button=[ZJButton buttonWithType:UIButtonTypeSystem];
    button.frame=frame;
    [button setTitle:title forState:UIControlStateNormal];
    button.action=action;
    [self addSubview:button];
    return button;

}
//添加图片按钮
-(UIButton *)addImageButtonWithFrame:(CGRect )frame
                               title:(NSString *)title
                          background:(NSString *)backgroud
                              action:(void(^)(UIButton *button))action
{
    ZJButton *button=[ZJButton buttonWithType:UIButtonTypeCustom];
    button.frame=frame;
    [button setTitle:title forState:UIControlStateNormal];
    [button setBackgroundImage:[UIImage imageNamed:backgroud] forState:UIControlStateNormal];
    button.action=action;
    [self addSubview:button];
    return button;

}

//添加图片视图
-(UIImageView *)addImageViewWithFrame:(CGRect)frame
                                image:(NSString *)image
{
    UIImageView *imageView=[[UIImageView alloc]initWithFrame:frame];
    imageView.image=[UIImage imageNamed:image];
    imageView.userInteractionEnabled=YES;
    [self addSubview:imageView];
    return imageView;
}

//添加lebel
-(UILabel *)addLabelWithFrame:(CGRect)frame
                         text:(NSString *)text
{
    UILabel *label=[[UILabel alloc]initWithFrame:frame];
    label.text=text;
    [self addSubview:label];
    return label;

}

@end

5、非常简单获取model的属性的方法

 NSDictionary *dict=[NSJSONSerialization JSONObjectWithData:responseObject options:NSJSONReadingMutableContainers error:nil];
        NSArray *appList=dict[@"applications"];
        for (NSDictionary *appDict in appList) {

            [self createModelCodeWithDictionary:appDict
                                name:@"model"

        }

    } 。。。。。。
-(void)createModelCodeWithDictionary:(NSDictionary *)dict
                                name:(NSString *)name
{
    printf("\[email protected] %s : NSOBject\n",name.UTF8String);

    for (NSString *key in dict) {
        printf("@property(nonatomic,copy)NSString *%s;\n",key.UTF8String);

    }
    printf("@end\n");
}
时间: 2024-10-10 02:43:35

人在千锋--网络学习之开发项目爱限免的相关文章

在千锋参加html5前端开发培训的心得体会娓娓道来

四个多月在千锋参加html5前端开发培训的时间说起来也不短了,突然间毕业了,要找工作了,我还是有股莫名的伤感和孤独,也很舍不得这些一起通过html5前端开发培训走过来的亦师亦友的伙伴.作为来深圳千锋参加html5前端开发培训相交的第一批朋友,我还是很珍惜的.我只能感叹时光飞逝,稍纵不复返. 在html5前端开发培训期间,非常感谢千锋html5前端开发培训老师的真心付出,带着我们慢慢成长起来,尤其感谢韩老师和邓老师,因为有他们,生活才特别可爱,我也完成了蜕变.另外,值得一提的是游戏部分mars老师

学习IOS开发项目篇--如何让程序在后台保持挂起状态

程序的状态分为:前台运行,后台挂起,后台休眠,为了让项目的网络请求保持活跃状态,需要对程序进行设置. 在applicationDidEnterBackground方法中调用下面的方法,可以让程序进入挂起状态,但在未知时间内,可能会被系统设置为休眠,如果在将程序设置为播放器,并且循环播放一个MP3文件,可以保持永久挂起状态. UIBackgroundTaskIdentifier task =[application beginBackgroundTaskWithExpirationHandler:

学习IOS开发项目篇--SDWebImage基本使用

一 .利用 UIImageView+WebCache.h中的 setImageWithURL: placeholderImage: 方法设置图片,会自动开启异步下载图片,并自动进行缓存判断操作; 注意: 需要在收到内存警告的时候, 移除 [SDImageCache sharedImageCache] cancelAll加载的图片缓存 取消[SDWebImageManager sharedManager]的下载操作 clearMemory 学习IOS开发项目篇--SDWebImage基本使用

2015年年底由于项目需要,边学习边开发项目学习了游标和存储过程 特此记录

游标的使用 使用游标的顺序: 声名游标.打开游标.读取数据.关闭游标.删除游标. 1. 声明游标 最简单游标声明:DECLARE <游标名>CURSOR FOR<SELECT语句>: 其中select语句可以是简单查询,也可以是复杂的接连查询和嵌套查询 2. 打开游标 非常简单,我们就打开刚才我们声明的游标mycursor OPEN mycursor 3. 读取数据 FETCH [ NEXT | PRIOR | FIRST | LAST] FROM { 游标名  | @游标变量名

山西 vr培训机构哪个好?千锋用事实说话

目前一直专注的VR技术应用已有新的发展,越来越多的人关注并学习VR技术,那么在选择VR培训学校时,需要进行了解体验,才能做出最好得的选择结果,现在给大家讲述山西 vr培训机构哪个好?千锋用事实说话. 尽管<口袋妖怪GO>在让普通大众认识增强现实vr技术方面发挥了重要作用,但是百度相信,游戏绝不是让这一未来媒介流行开来的途径.当用户把手机直接对准选定的古迹时,vr技术效果就会被激活. 移动vr将在2017年开始成为发展趋势,那么山西 vr培训机构哪个好? 通过专注于开发移动vr应用,而不是开发相

Android开发笔记(一百一十六)网络学习资源

知名网站 本系列的开发笔记,对Android开发来说只是沧海一瓢,还有更多的技术等待我们去汲取.下面列出几个常用的开发网站,供初学者上路: 首先当然是国内首屈一指的技术网站csdn啦,csdn提供了众多频道,包括博客.论坛.下载.问答等等,其中博客专栏提供了最新的技术文章,值得推荐.csdn博客专栏的地址是 http://blog.csdn.net/column.html 下面是csdn博客专栏的网页截图: 其次是国外有名的开源网站GitHub,这里有众多的开源项目源码,是开发者分享代码的乐园.

奔五的人,准备学习iOS开发

这些年一直在java/web/android方面折腾,去年最终换成了apple的设备,本想就開始折腾iOS,却始终没能进入状态. 从今天開始,本人宣布:正式进入iOS/xcode 5的编程学习中,也希望大家共同进步. 补充一下:环顾四周,到我这个年龄还能在coding中找到快乐的人好像已经不多了,你呢?当年进入android时,我是由于领了一台android的mt620合约机,记忆中也是国庆前拿到了,用了一个假期的时间学习android,边学边用,开发了第一个安卓应用:百度音乐下载播放器,在接着

学习IOS开发网络多线程篇--NSThread/GCD/

NSThread:利用NSThread创建和启用一个线程 1. NSThread *thread = [[NSThread alloc] initWithTarget:self selector:@selector(run) object:nil];,调用后调用[thread start]; 2. 创建线程后自动启动线程 ,[NSThread detachNewThreadSelector:@selector(run) toTarget:self withObject:nil]; 3. 隐式创建

学习ios开发要多久

学习ios的开发目前来看在国内门槛还是算是比较低的,主要是原因在于现在苹果产品更受年轻一族的喜爱,原以为大老板有钱人都会首选苹果来彰显自己的身份和品味,直到我看到我一个朋友的QQ心情:“穷逼才他妈的用苹果,别以为劳资用苹果就都有钱,大老板一般都用三星HTC的好不?“态度语气虽然生硬偏激,但是仔细想想还是有几分道理的.学习一门技术主要还是看个人兴趣和爱好了,因为只有兴趣的驱动才能让你坚持走下去,学习任何一门技术就我个人看来只要认真钻研我认为都有钱途. 千锋iOS培训机构有着完善的教学系统,教学循序