开始编写正式的iOS 程序(iOS编程指导)
App设计基础
在确定了你的App主要功能后,需要把它转化为代码。如果你是第一次开发属于自己的iOS App,需要花些时间熟悉基本概念。iOS内置了很多设计样式,多了解下能对你以后有帮助。
初稿
设计之初,明白你的程序需要做什么很重要。写下这些和你的数据有关的高级特性;对这些进行优先级排序,即实现用户比较需要的功能;研究下iOS,以便你对用什么去实现功能有个明确方向;画出设计草图。如果你对设计iOS程序不是很了解,建议先看看官方的设计准则(链接在文章结尾。)。
了解iOS设计样式和技术的基础
Model-View-Controller 模型-视图-控制器
Delegation 委托
Target-action 目标-动作
Block objects 块级对象
Sandboxing 沙箱
将初稿变成行动计划
选择数据模型
已有的数据模型
自定义对象数据模型
结构化数据模型
决定是否需要支持文档
选择你的用户界面方法
构建块级方法
基于OpenGL ES的方法
开始App创建
当你开始新建Xcode工程的时候,自己心中是否清楚以下几点的答案
你的程序基本界面是怎样的?
适配iPhone还是iPad,还是两者一起制作?
需要用到故事板吗?
你的数据模型需要用到核心数据吗?
如果是,开始一下步骤
1.安装Xcode
2.创建Xcode工程
3.开始写代码前,构建并运行在模拟器上看能否运行。
4.开始写基本实现代码
5.添加程序状态改变的支持
6.创建你的程序需要用到的资源(比如,文本,图片,音频,视频)
7.需要时,实现相关的App特性(比如,启动,与系统交互)
8.添加高级特性使你的程序脱颖而出
9.做些基本调试优化(如果不明白,看后文链接)
10.迭代功能
保护用户隐私
需要用到的时候再请求设备数据
告知用户,请求的数据将用于哪方面
为用户提供设置,可以自由选择
用最少的设备数据请求完成功能
存储用户隐私时,尽量使用官方提供的方法
禁止使用UDID跟踪用户数据
iOS官方设计指导https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/MobileHIG/index.html#//apple_ref/doc/uid/TP40006556
优化调试
https://developer.apple.com/library/ios/documentation/iphone/conceptual/iphoneosprogrammingguide/PerformanceTuning/PerformanceTuning.html#//apple_ref/doc/uid/TP40007072-CH8-SW1
开始编写正式的iOS 程序(iOS编程指导)的更多相关文章
- iOS开发系列--IOS程序开发概览
概览 终于到了真正接触IOS应用程序的时刻了,之前我们花了很多时间去讨论C语言.ObjC等知识,对于很多朋友而言开发IOS第一天就想直接看到成果,看到可以运行的IOS程序.但是这里我想强调一下,前面的 ...
- 使用Playground编写第一个Swift程序
从控制台输出“HelloWorld”是我学习C语言的第一步,也是我人生中非常重要的一步.多年后的今天,我仍希望以HelloWorld作为第一步,与大家共同开启一个神奇.瑰丽的世界——Swift编程. ...
- .NET 开源了,Visual Studio 开始支持 Android 和 iOS 程序编写并自带 Android 模拟器
.NET 开源了,Visual Studio 开始支持 Android 和 iOS 程序编写并自带 Android 模拟器 北京时间今天凌晨的 Connect(); 大会上,多少程序员的假想成为现实. ...
- Xamarin iOS编写第一个应用程序创建工程
Xamarin iOS编写第一个应用程序创建工程 在Xcode以及Xamarin安装好后,就可以在Xamarin Studio中编写程序了.本节将主要讲解在Xamarin Studio中如何进行工程的 ...
- 从此走上一条iOS程序猿不归路。。。
新的城市,新的生活!前不久刚刚结束了苦逼的面试找工作之旅,期间也小有收货,如今正处年底工作闲暇之余,将前一阵子陆陆续续的总结整理了一下,本人菜鸟程序猿一只,水平有限,本文总结的知识不算深入,比较浅显, ...
- iOS程序员对算法的要求
算法和数据结构(鉴于二者的关联,以下统称算法),对于程序员的重要性一直是个具有争议性的话题.有一些程序员内心对算法有着天然的排斥,面试当中一旦考察算法知识,会被不少程序员吐槽,但有部分公司又一直在坚持 ...
- 使用OLAMISDK实现一个语音输入数字进行24点计算的iOS程序
前言 在目前的软件应用中,输入方式还是以文字输入方式为主,但是语音输入的方式目前应用的越来越广泛.这是一个利用 Olami SDK 编写的一个24点iOS程序,是通过语音进行输入. Olami SDK ...
- 聊聊iOS中网络编程长连接的那些事
1.长连接在iOS开发中的应用 常见的短连接应用场景:一般的App的网络请求都是基于Http1.0进行的,使用的是NSURLConnection.NSURLSession或者是AFNetworking ...
- iOS网络高级编程:iPhone和iPad的企业应用开发之错误处理
本章内容 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcWluZ2h1YXdlbmthbmc=/font/5a6L5L2T/fontsize/400/fi ...
随机推荐
- FSB\QPI\DMI总线的区别
FSB\QPI\DMI总线的区别 zjdyx91 一些客户问:intel CPU有的是前端总线(FSB),有的是QPI总线,有的又是DMI总线,这就把人弄晕了, ...
- Struts2再爆远程代码执行漏洞
Struts又爆远程代码执行漏洞!在这次的漏洞中,攻击者可以通过操纵参数远程执行恶意代码.Struts 2.3.15.1之前的版本,参数action的值redirect以及redirectAction ...
- 【动态规划】Vijos P1143 三取方格数(NOIP2000提高组)
题目链接: https://vijos.org/p/1143 题目大意: NxN的矩阵,每个值只能取一次,从(1,1)走到(n,n)走三次能取得的最大值. 题目思路: [动态规划] f[x1][y1] ...
- 【动态规划】Vijos P1104 采药(NOIP2005普及组第三题)
题目链接: https://vijos.org/p/1104 题目大意: T时间,n个物品,每个耗时ti,可获得收益ci,求最大收益. 题目思路: [动态规划] 01背包裸题.一维二维都过了,放个一维 ...
- HOWTO:保存nohup日志
默认情况下,nohup的日志将保存在一个名为nohup.out的文件中.随着时间的推移,nohup.out文件会变得越来越大,直到某一天程序莫名的崩溃.这种情况是可以预防的,有很多策略都可以解决这个问 ...
- [Locked] Count Univalue Subtrees
Count Univalue Subtrees Given a binary tree, count the number of uni-value subtrees. A Uni-value sub ...
- tomcat中debug启动和start启动的区别
debug启动tomcat:修改代码不加方法,不加参数,只是单纯的修改方法,不用重启tomcat(热部署). start启动tamcat:修改代码需要重启tomcat.
- A_star poj2449 k短路
赛后填坑系列QAQ 贴代码呀 #include<iostream> #include<algorithm> #include<cstdio> #include< ...
- [分享]WPF 虚拟键盘
场景:用WPF做触屏的软件难免会需要用户输入的问题,至少是简单的数字,这个时候就免不了需要键盘输入. 思路:既然是虚拟键盘,那么我的目的就是模拟键盘输入即可. 1.模拟键盘输入 模拟键盘输入?那么肯定 ...
- 解决PyGObject在pydev下报错的问题
使用PyGObject在eclispe+pydev下写代码,由于库是动态链接的,pydev无法识别,所以检查语法的时候会报错,但是并不影响代码运行. 不过对于我这样由轻微强迫症的患者来说,看见代码报错 ...