CN106528673A - 一种适用于iOS系统的实体数据存储,导出,管理方法 - Google Patents
一种适用于iOS系统的实体数据存储,导出,管理方法 Download PDFInfo
- Publication number
- CN106528673A CN106528673A CN201610928725.6A CN201610928725A CN106528673A CN 106528673 A CN106528673 A CN 106528673A CN 201610928725 A CN201610928725 A CN 201610928725A CN 106528673 A CN106528673 A CN 106528673A
- Authority
- CN
- China
- Prior art keywords
- data
- layer
- ios
- write
- layers
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
- G06F16/164—File meta data generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/176—Support for shared access to files; File sharing support
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Computer Security & Cryptography (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种适用于iOS系统的实体数据存储,导出,管理方法,包括以下步骤:1)配置好基础项目相关项,保证初始项目能启动运行;2)分两种安装配置方式安装:直接导入相关包文件,或者使用依赖库安装工具安装;在安装好后,配置好动态链接库;3)根据实际项目需要,构建相应数据实体类后,通过调用工具函数初始化,转换生成需要的数据结构;4)在转换过程中,对数据类型,安全性,值类型进行检测,确保可靠性;5)在存储管理过程中,会转换对应的数据字段适配SQL字段,检测对象到sql字段的类型安全;6)在下达导出指令后,将会根据所需要的导出格式,对内存中数据实体对象进行转码,结构构建,文件创建、写入;并提供文件分享功能。本发明数据层分工明确,节省研发时间成本和提升研发质量。
Description
技术领域
本方案涉及为iOS开发application将要使用到的数据处理方案。
背景技术
随着搭载iOS系统的设备在全球的流行,不论iPhone,iPad都占据了高端市场的主要份额,在发达城市都处于绝对优势;得益于iOS系统高质量的APP,目前iOS APP的研发也是产品研发阶段关键的一步,优秀的客户端关系到大量高端客户的体验;当下在研发过程中数据层处理是关键的一层关系到application的数据基础可靠性与明确性,而且可能在实际过程中也会遇到数据层导出的问题,如需要方便导出数据内容为其他可阅读文件。
但是目前数据层流动的处理在很多情况下是没有统一严谨处理与便利使用的,在研发时间与质量的取舍中有时候会导致数据层处理混乱的情况。
所以上面所说的两个问题是一个稳定高效application研发时候需要解决的两个问题。
发明内容
本方案的目的是为了解决上述的两个问题,以节省研发时间成本和提升研发质量。
一种适用于iOS系统的实体数据存储,导出,管理方法,包括以下步骤:1)配置好基础项目相关项,保证初始项目能启动运行;2)分两种安装配置方式安装:直接导入相关包文件,或者使用依赖库安装工具安装;在安装好后,配置好动态链接库;3)根据实际项目需要,构建相应数据实体类后,通过调用工具函数初始化,转换生成需要的数据结构; 4)在转换过程中,对数据类型,安全性,值类型进行检测,确保可靠性; 5)在存储管理过程中,会转换对应的数据字段适配SQL字段,检测对象到sql字段的类型安全;6)在下达导出指令后,将会根据所需要的导出格式,对内存中数据实体对象进行转码,结构构建,文件创建、写入;并提供文件分享功能。
具体的,所述步骤1)中,基础项目相关项包括构成IOS操作系统的四层架构,从上到下依次为:Cocoa Touch Layer触摸UI层、MediaLayer媒体层、Core Services Layer核心服务层和Core OS Layer核心OS层;核心OS层处于最底层,为项目数据层,用于给ios技术提供支持;采用三层架构的方式构建项目数据层结构,所述三层架构包括Documents目录、tmp目录和属性列表;所述Documents目录为客户端目录,用于客户端的创建、读取和写入文件,包括位于索引0的数据paths、第一常量NSDocumentDirectory和第二常量NSUserDomainMask;数据paths用于返回主菜单;第一常量NSDocumentDirectory用于限定正在查找目录的路径,第二个常量NSUserDomainMask用于限定搜索的范围;所述tmp目录用于存放应用临时目录;所述属性列表用于指定应用的默认设置与相应的数据存储,使用Xcode或者Property List Editor应用手动编辑,将包含特定可序列化对象的字典或者数据,以NSDictionary和NSArray实例写入属性列表或者从属性列表创建相应的对象;核心服务层包含应用需要的基础的系统服务,这些服务中的核心是CoreFoundation和Foundation框架,定义了所有应用使用的基本类型;媒体层包含图形、音频、视频以及Air Play四个部分,媒体层使用框架framework构建;触摸UI层为客户端触摸层,用于实行客户端指令输出。分层设置的优点在于开发人员可以只关注整个结构中的其中某一层;可以很容易的用新的实现来替换原有层次的实现;可以降低层与层之间的依赖;有利于标准化;利于各层逻辑的复用。扩展性强。不同层负责不同的层面,如PetShop可经过简单的配置实现Sqlserver和oracle之间的转换,当然写好了也可以实现B/S与C/S之间的转换;安全性高。用户端只能通过逻辑层来访问数据层,减少了入口点,把很多危险的系统功能都屏蔽了;项目结构更清楚,分工更明确,有利于后期的维护和升级。
具体的,所述步骤3)中使用iOS SDK提供的反射机制,将NSData,NSDictionary结构数据转换为数据实体。
具体的,步骤6)中“根据所需要的导出格式,对内存中数据实体对象进行转码,结构构建,文件创建、写入;并提供文件分享功能”指将内存存储的实体信息导出为Excel或者text,导出的文件存储在Document目录下,允许再次传输导出结果。
具体的,所述步骤2)中依赖库导入程序采用Object-c与swift语言编写。对于软件平台中的一个资源包,根据预先生成的资源表中该资源包对应的依赖信息,确定出该资源包的编译层级;分别根据预先生成的结果表、依赖表中该资源包对应的依赖包索引、输出包索引,确定出该资源包的上层、下层编译依赖关系;根据所述软件平台中多个资源包各自的编译层级,以及上层、下层编译依赖关系,生成该软件平台的编译依赖关系树并显示。采用以上语言编辑方式不仅便捷,而且错误率低。
本发明的优点是:数据层分工明确,节省研发时间成本和提升研发质量。
具体实施方式
本发明的方法包括如下步骤:
首先,配置好基础项目相关项,保证初始项目能启动运行;
其次,分为两种安装配置方法,1.直接导入相关包文件, 2.使用依赖库安装工具安装
在安装好后,应当配置好动态链接库;
第三, 在实际项目中,合适构建相应数据实体类后,通过调用工具函数初始化,转换生成需要的数据结构;
第四,在转换过程中,会自动对数据类型,安全性,值类型进行检测,确保可靠性;
第五,在存储管理过程中,会转换对应的数据字段适配SQL字段,检测对象到sql字段的类型安全;
第六,在下达导出指令后,将会根据所需要的导出格式,对内存中数据实体对象进行转码,结构构建,文件创建.写入;并提供文件分享功能。
所述步骤1)中,基础项目相关项包括构成IOS操作系统的四层架构,从上到下依次为:Cocoa Touch Layer触摸UI层、MediaLayer媒体层、Core Services Layer核心服务层和Core OS Layer核心OS层;核心OS层处于最底层,为项目数据层,用于给ios技术提供支持;采用三层架构的方式构建项目数据层结构,所述三层架构包括Documents目录、tmp目录和属性列表;所述Documents目录为客户端目录,用于客户端的创建、读取和写入文件,包括位于索引0的数据paths、第一常量NSDocumentDirectory和第二常量NSUserDomainMask;数据paths用于返回主菜单;第一常量NSDocumentDirectory用于限定正在查找目录的路径,第二个常量NSUserDomainMask用于限定搜索的范围;所述tmp目录用于存放应用临时目录;所述属性列表用于指定应用的默认设置与相应的数据存储,使用Xcode或者Property ListEditor应用手动编辑,将包含特定可序列化对象的字典或者数据,以NSDictionary和NSArray实例写入属性列表或者从属性列表创建相应的对象;核心服务层包含应用需要的基础的系统服务,这些服务中的核心是CoreFoundation和Foundation框架,定义了所有应用使用的基本类型;媒体层包含图形、音频、视频以及Air Play四个部分,媒体层使用框架framework构建;触摸UI层为客户端触摸层,用于实行客户端指令输出。分层设置的优点在于开发人员可以只关注整个结构中的其中某一层;可以很容易的用新的实现来替换原有层次的实现;可以降低层与层之间的依赖;有利于标准化;利于各层逻辑的复用。扩展性强。不同层负责不同的层面,如PetShop可经过简单的配置实现Sqlserver和oracle之间的转换,当然写好了也可以实现B/S与C/S之间的转换;安全性高。用户端只能通过逻辑层来访问数据层,减少了入口点,把很多危险的系统功能都屏蔽了;项目结构更清楚,分工更明确,有利于后期的维护和升级。
具体的,所述步骤3)中使用iOS SDK提供的反射机制,将NSData,NSDictionary结构数据转换为数据实体。
具体的,步骤6)中“根据所需要的导出格式,对内存中数据实体对象进行转码,结构构建,文件创建、写入;并提供文件分享功能”指将内存存储的实体信息导出为Excel或者text,导出的文件存储在Document目录下,允许再次传输导出结果。
具体的,所述步骤2)中依赖库导入程序采用Object-c与swift语言编写。对于软件平台中的一个资源包,根据预先生成的资源表中该资源包对应的依赖信息,确定出该资源包的编译层级;分别根据预先生成的结果表、依赖表中该资源包对应的依赖包索引、输出包索引,确定出该资源包的上层、下层编译依赖关系;根据所述软件平台中多个资源包各自的编译层级,以及上层、下层编译依赖关系,生成该软件平台的编译依赖关系树并显示。采用以上语言编辑方式不仅便捷,而且错误率低。
Claims (5)
1.一种适用于iOS系统的实体数据存储,导出,管理方法,其特征是,包括以下步骤:
1)配置好基础项目相关项,保证初始项目能启动运行;
2)分两种安装配置方式安装:直接导入相关包文件,或者使用依赖库安装工具安装;在安装好后,配置好动态链接库;
3)根据实际项目需要,构建相应数据实体类后,通过调用工具函数初始化,转换生成需要的数据结构;
4)在转换过程中,对数据类型,安全性,值类型进行检测,确保可靠性;
5)在存储管理过程中,会转换对应的数据字段适配SQL字段,检测对象到sql字段的类型安全;
6)在下达导出指令后,将会根据所需要的导出格式,对内存中数据实体对象进行转码,结构构建,文件创建、写入;并提供文件分享功能。
2.根据权利要求1所述的一种适用于iOS系统的实体数据存储,导出,管理方法,其特征是:所述步骤1)中,基础项目相关项包括构成IOS操作系统的四层架构,从上到下依次为:Cocoa Touch Layer触摸UI层、MediaLayer媒体层、Core Services Layer核心服务层和Core OS Layer核心OS层;
核心OS层处于最底层,为项目数据层,用于给ios技术提供支持;采用三层架构的方式构建项目数据层结构,所述三层架构包括Documents目录、tmp目录和属性列表;
所述Documents目录为客户端目录,用于客户端的创建、读取和写入文件,包括位于索引0的数据paths、第一常量NSDocumentDirectory和第二常量NSUserDomainMask;数据paths用于返回主菜单;第一常量NSDocumentDirectory用于限定正在查找目录的路径,第二个常量NSUserDomainMask用于限定搜索的范围;
所述tmp目录用于存放应用临时目录;
所述属性列表用于指定应用的默认设置与相应的数据存储,使用Xcode或者PropertyList Editor应用手动编辑,将包含特定可序列化对象的字典或者数据,以NSDictionary和NSArray实例写入属性列表或者从属性列表创建相应的对象;
核心服务层包含应用需要的基础的系统服务,这些服务中的核心是CoreFoundation和Foundation框架,定义了所有应用使用的基本类型;
媒体层包含图形、音频、视频以及Air Play四个部分,媒体层使用框架framework构建;
触摸UI层为客户端触摸层,用于实行客户端指令输出。
3.根据权利要求1所述的一种适用于iOS系统的实体数据存储,导出,管理方法,其特征是:所述步骤3)中使用iOS SDK提供的反射机制,将NSData,NSDictionary结构数据转换为数据实体。
4.根据权利要求2所述的一种适用于iOS系统的实体数据存储,导出,管理方法,其特征是:步骤6)中“根据所需要的导出格式,对内存中数据实体对象进行转码,结构构建,文件创建、写入;并提供文件分享功能”指将内存存储的实体信息导出为Excel或者text,导出的文件存储在Document目录下,允许再次传输导出结果。
5.根据权利要求1或2或3或4所述的一种适用于iOS系统的实体数据存储,导出,管理方法,其特征是:所述步骤2)中依赖库导入程序采用Object-c与swift语言编写。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610928725.6A CN106528673A (zh) | 2016-10-31 | 2016-10-31 | 一种适用于iOS系统的实体数据存储,导出,管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610928725.6A CN106528673A (zh) | 2016-10-31 | 2016-10-31 | 一种适用于iOS系统的实体数据存储,导出,管理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106528673A true CN106528673A (zh) | 2017-03-22 |
Family
ID=58291702
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610928725.6A Pending CN106528673A (zh) | 2016-10-31 | 2016-10-31 | 一种适用于iOS系统的实体数据存储,导出,管理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106528673A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112905231A (zh) * | 2021-02-04 | 2021-06-04 | 浪潮电子信息产业股份有限公司 | 一种业务系统重构方法、系统及相关装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104503741A (zh) * | 2014-12-01 | 2015-04-08 | 北京金和软件股份有限公司 | 一种制作和发布app一体化的系统 |
-
2016
- 2016-10-31 CN CN201610928725.6A patent/CN106528673A/zh active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104503741A (zh) * | 2014-12-01 | 2015-04-08 | 北京金和软件股份有限公司 | 一种制作和发布app一体化的系统 |
Non-Patent Citations (3)
Title |
---|
COCOPENG: "iOS本地数据存取,看这里就够了", 《HTTP://WWW.COCOACHINA.COM/IOS/20160429/16065.HTML》 * |
GREGG MOJICA: "在Swift和Objective-C项目中使用CocoaPods", 《HTTPS://SEGMENTFAULT.COM/A/1190000005958138》 * |
等你左岸右岸: "ios的系统层级结构和相关的框架", 《HTTPS://BLOG.CSDN.NET/LXL_815520/ARTICLE/DETAILS/51172917》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112905231A (zh) * | 2021-02-04 | 2021-06-04 | 浪潮电子信息产业股份有限公司 | 一种业务系统重构方法、系统及相关装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104035754A (zh) | 一种基于xml的自定义代码生成方法及生成器 | |
CN102665231B (zh) | 一种lte系统自动生成参数配置文件的方法 | |
CN106951231B (zh) | 一种计算机软件开发方法及装置 | |
CN103544319A (zh) | 一种多租户共享数据库的方法和多租户数据库即服务系统 | |
US20120158453A1 (en) | Workflow processing system for supporting multi-tenant, and method thereof | |
CN104123126A (zh) | 一种用于生成合并冲突记录列表的方法和装置 | |
CN109814865B (zh) | 一种基于json数据格式的移动应用页面生成方法 | |
CN103309904A (zh) | 一种生成数据仓库etl 代码的方法及装置 | |
CN103164206A (zh) | 基于saas的软件定制系统 | |
CN109116828B (zh) | 一种控制器中模型代码配置方法和装置 | |
Gómez et al. | An approach to the co-creation of models and metamodels in Enterprise Architecture Projects. | |
CN106528673A (zh) | 一种适用于iOS系统的实体数据存储,导出,管理方法 | |
US7904417B2 (en) | Recursive metadata templating | |
CN108241620B (zh) | 查询脚本的生成方法及装置 | |
KR102438812B1 (ko) | 지식 베이스 관리 방법, 장치, 기기 및 매체 | |
CN107273136A (zh) | 支持多语言的方法及装置 | |
US20090132473A1 (en) | Apparatus, method, and computer program product for processing databases | |
Yang et al. | On cloud computing middleware architecture | |
CN103902275A (zh) | 一种实现应用的语言版本切换的方法和系统 | |
CN102279886A (zh) | 元数据处理方法及设备 | |
US8566814B2 (en) | Transporting object packets in a nested system landscape | |
CN115659920A (zh) | 一种将Excel工艺转换成cxp工艺的方法及装置 | |
CN113448942B (zh) | 数据库访问方法、装置、设备及存储介质 | |
CN104331445A (zh) | 一种个性化app管理平台的菜单自动加载方法 | |
CN110990000B (zh) | Mvc模式设计模型层的数据请求处理方法、装置及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170322 |