开始编写正式的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 ...
随机推荐
- 【HDOJ】2364 Escape
bfs.题目做的不细心,好多小错误.尤其注意起始点就是边界的情况.wa了八次. #include <iostream> #include <cstdio> #include & ...
- centos qt5,PyQt5 installation
一.SIP http://www.riverbankcomputing.com/software/sip/download 二.Centos6.5 qt 安装 1,centos linux系统必须 ...
- 字符串(扩展KMP):HDU 4333 Revolving Digits
Revolving Digits Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ...
- 高级数据结构(树状数组套主席树):ZOJ 2112 Dynamic Rankings
Dynamic Rankings Time Limit: 10 Seconds Memory Limit: 32768 KB The Company Dynamic Rankings has ...
- hihoCoder 1392 War Chess 【模拟】 (ACM-ICPC国际大学生程序设计竞赛北京赛区(2016)网络赛)
#1392 : War Chess 时间限制:1000ms 单点时限:1000ms 内存限制:256MB 描述 Rainbow loves to play kinds of War Chess gam ...
- 《University Calculus》-chaper13-向量场中的积分-线积分
线积分: 基于二重积分和三重积分的引入,我们对于线积分的引入过程将会轻车熟路. 对于一根不均匀密度的铜丝,我们如何求其总质量?如下图. 类似二重积分和三重积分的引入,我们首先基于实际问题给出黎曼和的形 ...
- Java 内省 Introspector
操纵类的属性,有两种方法 反射 内省 面向对象的编程中,对于用户提交过来的数据,要封装成一个javaBean,也就是对象 其中Bean的属性不是由字段来决定的,而是由get和Set方法来决定的 pub ...
- DOM解析原理
用于处理XML文档的DOM元素属性 childNodes:返回当前元素所有子元素的数组: firstChild:返回当前元素的第一个下级子元素: lastChild:返回当前元素的最后一个子元素: n ...
- 对Spring的一些理解
最近在复习一些关于框架的概念性问题,主要是为了最近的面试,怕被问到这些概念性的问题.不过在真正做开发的时候还是要好好理解这些框架的基本原理,以及它们的工作流程.这样,我们才能更好的使用这些框架.下面就 ...
- ionic之应用首次启动引导页
用户首次启动app先进入引导页,localstroge记录状态,下次启动应用不再显示引导页. HTML: <html> <head> <meta charset=&quo ...