Objective-C 【电商APP应用项目-系统分析-详细注释-代码实现】

———————————————————————————————————————————

电商APP应用

*************************************************Goods.h*****************************************************

#import <Foundation/Foundation.h>

//结构体定义

typedef struct

{

int year;

int month;

int day;

int hour;

int minute;

int second;

}ProdDate;

@interface Goods : NSObject

//这里要根据合适的情况选择set/get的内存处理方式

//商品名称

@property (nonatomic,retain) NSString *productName;//(注意这里创建的实例变量名,其实都是带下划线的,这里之前已经学习过)

//单价

@property (nonatomic,assign) int productPrice;

//重量

@property (nonatomic,assign) float productWeight;

//商品展示图片(图片路径)

@property (nonatomic,retain) NSString *imgUrl;

//生产日期(这里是结构体类型,不用加‘*’号)

@property (nonatomic,assign) ProdDate produceDate;

//过期日期

@property (nonatomic,assign) ProdDate expireDate;

@end

*************************************************Goods.h*****************************************************

*************************************************Goods.m*****************************************************

#import "Goods.h"

@implementation Goods

- (void)dealloc

{

NSLog(@"Goods dealloc!");

[_productName release];//因为是retain类型的,所以说OC对象最后应该内存释放一次(释放的就是创建时候new出来计数1)

[_imgUrl release];

[super dealloc];

}

@end

*************************************************Goods.m*****************************************************

*************************************************Person.h*****************************************************

#import <Foundation/Foundation.h>

typedef enum {kSexMan,kSexWoman,kSexYao}Sex;

@interface Person : NSObject

//姓名

@property (nonatomic,retain) NSString *name;

//性别(一定不要用int类型,要用枚举类型)

@property (nonatomic,assign) Sex sex;

//年龄

@property (nonatomic,assign) int age;

//身高

@property (nonatomic,assign) float height;

@end

*************************************************Person.h*****************************************************

*************************************************Person.m****************************************************

#import "Person.h"

@implementation Person

- (void)dealloc

{

NSLog(@"Person dealloc!");

[_name release];

[super dealloc];

}

@end

*************************************************Person.m****************************************************

**************************************************Setter.h*****************************************************

#import "Person.h"

#import "Goods.h"

@interface Seller : Person

//卖家应该有一个Goods类型的参数,也就是卖的货物

@property (nonatomic,retain) Goods *goods;

@end

**************************************************Setter.m*****************************************************

#import "Seller.h"

@implementation Seller

- (void)dealloc

{

NSLog(@"Seller dealloc!");

[_goods release];//与之对应的是Seller里面@property的那个goods的属性

[super dealloc];

}

@end

**************************************************Setter.m*****************************************************

***************************************************Buyer.h****************************************************

#import "Person.h"

@interface Buyer : Person

//购买者没有参数

@end

***************************************************Buyer.h****************************************************

***************************************************Buyer.m****************************************************

#import "Buyer.h"

@implementation Buyer

- (void)dealloc

{

NSLog(@"Buyer dealloc!");

[super dealloc];

}

@end

***************************************************Buyer.m****************************************************

***************************************************mian.m*****************************************************

#import <Foundation/Foundation.h>

#import "Seller.h"

int main(int argc, const char * argv[]) {

@autoreleasepool {

Seller *seller=[[Seller alloc]init];//seller  1

Goods *g=[[Goods alloc]init];//g  1

NSLog(@"g=%tu",[g retainCount]);//验证输出  g  1

seller.goods=g;//g  2 (说明一下,在实例对象seller调用goods的set方法的时候,因为我们goods的set方法是@property retain类型,所以说在set方法中_goods(也就是g)的地址内存计数+1)

NSLog(@"g=%tu",[g retainCount]);//验证输出  g  2

[g release];//这两个地方,因为new了,所以必须选择释放  g  1

[seller release];//seller  0    g  0  (另外,在sellter release的时候,里面调用了父类的dealloc,也就是Person的dealloc,所以Person也释放了一次,故会输出“Person dealloc!”)

}

return 0;

}

***************************************************main.m*****************************************************

———————————————————————————————————————————

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-27 19:59:33

Objective-C 【电商APP应用项目-系统分析-详细注释-代码实现】的相关文章

电商APP制作,平台选的好流量自然少不了

随着互联网的崛起和迅猛发展,电子商务在我国的发展也进入了密集发展和创新发展的新阶段.电商巨头阿里巴巴.京东.聚美优品.唯品会等均开发了专属的APP应用,并积累了大量忠实用户,取得了可观的收益.纵观整个电商行业,移动化.互联网化成为大趋势.越来越多的商家开始投身投身于"互联网+"的大潮中,而从事电商运营,电商APP制作是不可或缺的一个环节.但从公司运营成本及团队结构设置等方面考虑,很多企业并没有配备APP应用开发团队.如何才能够拥有一款属于自己的电商APP,成了很多商家的面临的难题. 为

您有一份专业电商APP制作指南

如今电商APP盛行,为了提供客户更方便快捷的服务,也为了更迅速全面的打开自己的市场,不少商家都不约而同的选择了电商APP,作为专业电商APP制作平台,APICloud可以帮助客户快速完成App全链条的开发和上线. APICloud以快速.高效.成熟的移动应用开发技术作为基础,结合服务于数万企业客户的丰富经验,目前已有上万款APP基于APICloud平台开发并发布到苹果等各大应用商店,是目前中国领先的"云端一体"的移动应用云服务提供商. 在电商APP制作方面,APICloud 用标准We

Kotlin打造完整电商APP 模块化+MVP+主流框架

详情请交流  QQ  709639943 01.Kotlin打造完整电商APP 模块化+MVP+主流框架 02.Kotlin系统入门与进阶 03.Node.js入门到企业Web开发中的应用 04.精通高级RxJava 2响应式编程思想 05.Java秒杀系统方案优化 高性能高并发实战 06.Java深入微服务原理改造房产销售平台 07.快速上手Linux 玩转典型应用 08.快速上手Ionic3 多平台开发企业级问答社区 09.Java Spring Security开发安全的REST服务 10

Android通用框架设计与完整电商APP开发

第1章 课程介绍及APP效果展示(Java版)本章概述了本课程大家能学到什么,老师如何讲解,为什么这么讲解,并介绍了框架的整体架构设计与模块分解,最后展示了用自己设计的框架开发出来的完整电商APP的效果图(服务端API快速搭建教程:http://www.imooc.com/article/19001) ...1-1 课程导学1-2 项目架构设计与模块分解 第2章 项目初始化本章将从零搭建一个空项目,实践项目搭建的过程,并额外教大家搭建一个基于Go语言的Web版Git服务器,实现代码托管的自举.(

从电商平台促销活动看电商app开发趋势

据亿合科技小编了解到:尽管各大电商平台都进入了品质和品牌时代,但对于消费者来说,低价依然是一个有吸引力的因素.尼尔森<网络购物者趋势研究>报告显示,2016年价格敏感型购物者的比例从15%上升至19%.网店产品低价对购物的影响大幅提升,从去年的42%跃至今年的61%,可见进行电商app开发也是趋之所向,电商促销活动版块的功能更受用户喜欢,这样创造出更受用户喜爱的app网购平台,从而实现利益的转化.能开发提供更多促销活动的电商app显然更具开发优势,常用的促销开发功能形式有优惠券.满多少减多少.

如何设计电商APP首页

我这里分析的"产品陈列设计"并非建立在专业领域的概念,而是通过实战总结的经验. 关于产品陈列设计要把握的几个原则是: 1. 让新用户轻松找到产品,快速熟悉产品目录 2. 让老用户第一时间看到上架的新品 3. 陈列的目的是让用户快速找到自己想找的商品 4. 在APP内形成逛的氛围 5. 在合适的位置推出主打产品! 6. 每个功能模块所展示的产品数量要合理 7. 陈列的图片规格既要节省空间又要清晰表达产品特征! 8. 陈列中巧用文字和数据的影响 9. 不要滥用广告图! 10. 把握陈列中引

电商app功能开发流程+方案

hello,各位大咖!开发一款app到底有哪些流程?从零到完善运营,还有版本择选,方向度可精准?分享分享感想: 一款移动电商APP开发从零到完善运营,大概要经历一下几个步骤流程:1.电商APP开发需求:要开发制作一款移动电商APP,不仅仅要了解用户可以在APP上实现什么功能,还要了解企业为什么要制作一款电商APP,在这个基础上,要了解满足上面的功能,APP需要支持哪些功能.如果APP的功能仅仅与网页端的功能没有太大差异的话,那么开发的意义也不大.当这些确定后,再去跟开发制作公司去谈. 2.电商A

电商APP开发我们要注意哪些

电商APP是最近几年新兴起的一个行业,且增长速度很快,这都得益于移动流量的暴增,企业纷纷想在这个市场分一杯羹.我们先不说开发电商APP应该注意哪些,先来聊聊开发电商APP能够带来什么?专业APP开发公司小编为您简单介绍一下. 我们可以从几个方面来说说开发电商APP能够带来什么? 1.可以在用户桌面占有一席之地,提高客户对我们的忠诚度; 2.用户手机或者移动设备基本随身携带,碎片时间都可以浏览,增加商业机会; 3.新品信息.促销信息第一时间推送到客户手中,精准营销,占领先机; 4.可以知道用户地理

如何选择电商app开发平台

选择电商app开发平台取决于多种因素.接下来,我们就一起探讨一番,如何选择出一个好的电商app开发平台吧! 一.  App价格 首先,人们常考虑的第一因素就是App开发费用,毕竟谁家的钱都不是大风刮来的. 从大体上来讲,刨除App开发的差异性所产生的不同费用,对比App开发的不同方式,传统App开发,开发流程繁冗复杂,费用成本高,开发周期长,是中小企业和创客无法承担的. 但是新兴起的SaaS技术,将功能组件模块化,可以提前开发好(原生开发),大幅度降低成本费用,缩短时间周期,让客户开发 App的