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编程指导)的更多相关文章

  1. iOS开发系列--IOS程序开发概览

    概览 终于到了真正接触IOS应用程序的时刻了,之前我们花了很多时间去讨论C语言.ObjC等知识,对于很多朋友而言开发IOS第一天就想直接看到成果,看到可以运行的IOS程序.但是这里我想强调一下,前面的 ...

  2. 使用Playground编写第一个Swift程序

    从控制台输出“HelloWorld”是我学习C语言的第一步,也是我人生中非常重要的一步.多年后的今天,我仍希望以HelloWorld作为第一步,与大家共同开启一个神奇.瑰丽的世界——Swift编程. ...

  3. .NET 开源了,Visual Studio 开始支持 Android 和 iOS 程序编写并自带 Android 模拟器

    .NET 开源了,Visual Studio 开始支持 Android 和 iOS 程序编写并自带 Android 模拟器 北京时间今天凌晨的 Connect(); 大会上,多少程序员的假想成为现实. ...

  4. Xamarin iOS编写第一个应用程序创建工程

    Xamarin iOS编写第一个应用程序创建工程 在Xcode以及Xamarin安装好后,就可以在Xamarin Studio中编写程序了.本节将主要讲解在Xamarin Studio中如何进行工程的 ...

  5. 从此走上一条iOS程序猿不归路。。。

    新的城市,新的生活!前不久刚刚结束了苦逼的面试找工作之旅,期间也小有收货,如今正处年底工作闲暇之余,将前一阵子陆陆续续的总结整理了一下,本人菜鸟程序猿一只,水平有限,本文总结的知识不算深入,比较浅显, ...

  6. iOS程序员对算法的要求

    算法和数据结构(鉴于二者的关联,以下统称算法),对于程序员的重要性一直是个具有争议性的话题.有一些程序员内心对算法有着天然的排斥,面试当中一旦考察算法知识,会被不少程序员吐槽,但有部分公司又一直在坚持 ...

  7. 使用OLAMISDK实现一个语音输入数字进行24点计算的iOS程序

    前言 在目前的软件应用中,输入方式还是以文字输入方式为主,但是语音输入的方式目前应用的越来越广泛.这是一个利用 Olami SDK 编写的一个24点iOS程序,是通过语音进行输入. Olami SDK ...

  8. 聊聊iOS中网络编程长连接的那些事

    1.长连接在iOS开发中的应用 常见的短连接应用场景:一般的App的网络请求都是基于Http1.0进行的,使用的是NSURLConnection.NSURLSession或者是AFNetworking ...

  9. iOS网络高级编程:iPhone和iPad的企业应用开发之错误处理

    本章内容 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcWluZ2h1YXdlbmthbmc=/font/5a6L5L2T/fontsize/400/fi ...

随机推荐

  1. Javascript面向对象编程(二):构造函数的继承 by 阮一峰

    今天要介绍的是,对象之间的"继承"的五种方法. 比如,现在有一个"动物"对象的构造函数. function Animal(){ this.species = & ...

  2. joelonsoftware 读书摘录

    joelonsoftware 读书摘录   <五个为什么>  1.“黑天鹅难题”,代表外来因素,是一个超出正常预料之外的事件.  2.丰田佐吉的“五个为什么”,当某个地方出现问题时,你就一 ...

  3. IIS6.0服务器搭建网站无法访问解决方法

    IIS6.0服务器搭建网站无法访问解决方法     IIS6.0服务器搭建网站无法访问解决方法很多朋友在用IIS6架网站的时候遇到不少问题,而这些问题有些在过去的IIS5里面就遇到过,有些是新出来的, ...

  4. Android从网络下载文件

    1.主Activity public class MainActivity extends Activity { private Button download=null; private EditT ...

  5. 最小生成树 10.1.5.253 1505 poj 1258 http://poj.org/problem?id=1258

    #include <iostream>// poj 1258 10.1.5.253 1505 using namespace std; #define N 105 // 顶点的最大个数 ( ...

  6. shell timeout

    写脚本的时候,经常需要用到超时控制.看<shell专家编程>时看到一个好例:修改了一下, 1.超过timeout时间还没执行完,则kill进程,发邮件告警: set-xmailSend() ...

  7. <一>初探js特效魅力之全选不选反选04

    初探js特效魅力04 我们在进入到公司里面工作的时候,做一个同一个项目,经常是大家分工合作,当我们写css时,一般不写在行间,因为这样会被误操作,也就是被乱删了都不知道,这样的后果是很难检查的 ,因为 ...

  8. 一些正则在js使用方法

    输入框直接正则判断 <input type="password" name="pwd" placeholder="密码只能以数字\英文\@\.& ...

  9. Unity三种截屏方法(非自带API)

    者利用了三种表现形式: 1,选择截图路径的方法 2,直接截取截屏的方法 3,截取鼠标圈选区域. 上代码,: 第一种是调用.net的类库,需要引用System.Windows.Forms.dll,在As ...

  10. PHP安全编程:跨站脚本攻击的防御(转)

    跨站脚本攻击是众所周知的攻击方式之一.所有平台上的Web应用都深受其扰,PHP应用也不例外. 所有有输入的应用都面临着风险.Webmail,论坛,留言本,甚至是Blog.事实上,大多数Web应用提供输 ...