iOS编程之前】的更多相关文章

声明:本文翻译自AppCoda网站的文章:What You Need to Begin iOS Programming?,作者是创建者Simon Ng.如有异议,请联系博主.   更新:帖子已经重新被更新过,以便能更好的兼容Xcode 5和iOS 7.       至今为止,已经超过6000位读者加入了这个iOS免费教程.首先,我要感谢这些加入我们社区的朋友.在我们正式开始iOS编程之前,让我们先通过这个开发工具来创建你的第一个app程序.      1. 要有一台Mac机器     是的,你需…
IOS编程之User Interface基础 目录 概述 相关概念 常见问题 状态栏的隐藏 应用图标的设置 概述 IOS用户界面是APP呈现给用户最直观.最常用的方式,因此学会用户界面的编程是学习IOS编程很重要而且不可缺少的一部分:用户界面的实现方式可以分为纯代码.纯界面和代码+界面:纯代码实现的界面,在现在是比较不推崇的,因为用纯代码编写的界面难于维护,会使开发人员花费很多的时间去调整UI界面,但是纯代码可以实现很多特殊的效果:纯界面,往往其所能实现的功能是较于局限的,如用于说明的文本或图片…
IOS编程之多线程 目录 概述——对多线程的理解 IOS中实现多线程的三种方式 NSThread 线程创建 线程的同步与锁 线程间的交互 线程的操作方法 NSOperation and NSOperationQueue GCD(Grand Central Dispatch) 线程间的通信 解决多个线程同时访问同一个内存资源的问题 多线程的运用 卖火车票 对多线程底层的可能实现的猜测 概述——对多线程的理解 为了避免在主线程中执行一些任务时可能会出现异常而卡死,我们可以把这些任务放到新的线程中进行…
iOS编程——通过UUID和KeyChain来代替Mac地址实现iOS设备的唯一标示(OC版) 很多的应用都需要用到手机的唯一标示,而且要求这个唯一标示不能因为应用app的卸载或者改变而变化. 在iOS7以前是可以通过Mac地址来实现这个功能的,但是iOS7(包含)以后是无法获得Mac地址的:苹果官方推荐使用UUID,但是每次随着APP的卸载重装,UUID会随之发生变化,那该如何处理呢? 我们需要一个能在app卸载重装后不会改变的值,而keyChain恰巧就可以做到.配合UUID就可以实现了!让…
IOS编程教程(八):在你的应用程序添加启动画面   虽然你可能认为你需要编写闪屏的代码,苹果已经可以非常轻松地把它做在Xcode中.不需要任何编码.你只需要做的是设置一些配置. 什么是闪屏 对于那些新学代码的人,可能没有听说过“闪屏”把,让我先作一个简单的解释.闪屏是常见于iOS应用程序,以及其他桌面应用程序.这是你启动一个应用程序时,你看到的第一个画面.通常情况下,初始屏幕是一个覆盖整个屏幕的图像,消失后加载主屏幕.下图显示了几种闪屏: 简单闪屏(开始页面) 闪屏的主要目的是为了让用户知道你…
iOS编程之前 更新:帖子已经重新被更新过,以便能更好的兼容Xcode 5和iOS 7.       至今为止,已经超过6000位读者加入了这个iOS免费教程.首先,我要感谢这些加入我们社区的朋友.在我们正式开始iOS编程之前,让我们先通过这个开发工具来创建你的第一个app程序.      1. 要有一台Mac机器     是的,你需要一台Mac电脑.这是开发IOS编程最基本的要求.要想开发一个iPhone(或者iPad)软件,你首先得有一台基于Intel处理器的Mac机器,装载着Mac OS…
转自:http://www.myext.cn/other/a_30922.html 比较日期大小是任何编程语言都会经常遇到的问题,再iOS编程中,通常用NSDate对象来存储一个时间(包括日期和时间.时区),而且 NSDate类提供了compare方法来进行时间的比较,但有时不想那么精确的知道两个日期的大小(默认会比较到秒),可以用下面的实现方法: +(int)compareOneDay:(NSDate *)oneDay withAnotherDay:(NSDate *)anotherDay{…
我最近翻译了Big Nerd Ranch的<iOS编程(第6版)>.我用了大半年时间,尽可能做到通顺易懂.不足之处请大家多多指正.感谢辛苦审校的丁道骏同学. 这本书得过Jolt大奖,原书在美国亚马逊书店排名iOS编程类榜首.前几版反响都不错(第5版也是我翻译的),希望第6版不会叫大家失望. 京东当当天猫都有卖,我查了下,天猫最便宜:https://detail.tmall.com/item.htm?spm=a230r.1.14.40.15fe2a61d0oPtv&id=59159809…
定义:描述 Foundation 框架类在标准的网络传输协议下,用 URLs 连接因特网并与服务器交互的一整套体系. 支持的传输协议: File Transfer Protocol (ftp://) Hypertext Transfer Protocol (http://) Hypertext Transfer Protocol with encryption (https://) Local file URLs (file:///) Data URLs (data://) 结构图 网络系统模块…
开发iOS程序需要使用 Objective-C 语言和Cocoa Touch框架.Objective-C 源于 C 语言,是 C 语言的扩展. Cocoa Touch框架是一个Objective-C类的集合.本篇文章用来介绍一些Objective-C基础知识. 对象 假设有一场聚会.该聚会有若干特有的属性,例如聚会的名称,日期和一根受邀请的名单.此外,还有“聚会”需要做些事情,比如向受邀请者发送一封提醒邮件,或者取消聚会. 如果使用C语言,那么我们可以定义一个 结构体 ,用于保存这场聚会的数据类…
从今天起想走进IOS架构的大门,一直不屑于学习第三方框架,觉得框架也是一点点代码给垒起来的,只要掌握了代码就可以了,殊不知垒代码的过程才是最重要的,而这个过程又岂是一朝一夕就能达到完美境界的,达到完美没有捷径,但是学习第三方框架无疑会让自己以更少的时间达到目的. 所以学习好的框架绝对是成功路上的铺路石. 今天稍微理解了下IOS的编程思想,在这里做个笔记先,以后的练习才是王道: 1. 链式编程思想: 就像管道,上一步的输出作为下一步的输入,也就是前一步的返回值作为后一步的调用对象,这样可以让所有的…
iOS的AVFoundation框架提供了基本的音视频播放工具,我们基本上可以靠其中提供的类完成绝大部分的音视频播放任务.但是在音频播放的输出音量的处理上,苹果的策略比较保守.尽管AVPlayer和AVPAudiolayerzhe这些类提供了音量调节功能,但这些音量控制属于App级别的控制.好处就是音量调节独立于系统音量,调节大小时不会影响系统音量.但有时候我们可能希望修改系统音量,以免在调节声音的时候,如果系统音量过小,App调节音量效果不明显.一般来说要调节系统音量会有以下方法: 请注意:修…
阅读博客 在现在这个碎片化阅读流行的年代,博客的风头早已被微博盖过.而我却坚持写作博客,并且大量地阅读同行的iOS开发博客.博客的文章长度通常在3000字左右,许多iOS开发知识都至少需要这样的篇幅才能完整地讲解清楚.并且博客相对于书籍来说,并没有较长的出版发行时间,所以阅读博客对于获取最新的iOS开发知识有着非常良好的效果. 我自己精心整理了国内40多位iOS开发博主的博客地址列表:https://github.com/tangqiaoboy/iOSBlogCN,希望大家都能培养起阅读博客的习…
文本框(UITextField) 本章节继续编辑 JXHypnoNerd .文件地址 . 首先我们继续编辑  JXHypnosisViewController.m 修改  loadView 方法,向  view 中添加一个 UITextField 对象: #import "JXHypnosisViewController.h" #import "JXHypnosisView.h" @interface JXHypnosisViewController () @end…
UIGestureRecognizer 对象会截取本应由视图处理的触摸事件.当某个UIGestureRecognizer对象识别出特定的手势后,就会向指定的对象发送指定的消息.iOS SDK默认提供若干中UIGestureRecoginezer对象.本章我们将继续更新 JXTouchTracker ,借助由iOS SDK提供的三种 UIGestureRecogniezer对象,用户可以选择.移动.删除线条. UIGestureRecognizer子类 在为应用添加手势识别功能时,需要针对特定的手…
我们知道 UITabBarController 对象,可以通过使用该对象,用户可以切换不同的屏幕.当要切换的各个屏幕之间没有相互依存关系的时候,该对象可以很好的完成任务.但是当多个屏幕互有关系的时候,就要使用另一种控制器 UINavigationController . 事实上,基本上在所有的 APP 中,必不可少的两种控制器. 我们以 iOS 自带的 设置 应用为例,设置应用拥有多个互有关联的窗口,我们称之为这种界面为 垂直界面 . 下面我们将使用 UINavigationController…
上个项目我们完成了 JXHomepwner 简单的应用展示,项目地址.本节我们需要在上节项目基础上,增加一些响应用户操作.包括添加,删除和移动表格. 编辑模式 UITableView 有一个名为  editing 的属性,如果将其设置为  YES , UITableView 就会进入编辑模式.在编辑模式下,用户可以管理 UITableView 中的表格行,我们可以添加.删除和移动等操作.但是编辑模式没有听过修改行的内容的功能. 首先要更新界面,使用户可以将 UITableView 对象设置为编辑…
视图控制器是  UIViewController 类或其子类对象.每个视图控制器都负责管理一个视图层次结构,包括创建视图层级结构中的视图并处理相关用户事件,以及将整个视图层次结构添加到应用窗口. 创建一个程序,并将上节  JXHypnosisView 类导入到工程中. 创建 UIViewController 子类 打开工程,创建一个  UIViewController  子类文件,并将其命名为  JXHypnosisViewController UIViewController 的 view 属…
我们继续之前的 Hypnosister 应用,当用户开始触摸的时候,圆形的颜色会改变. 首先,在 JXHypnosisView 头文件中声明一个属性,用来表示圆形的颜色. #import "JXHypnosisView.h" @interface JXHypnosisView () /** 颜色 */ @property (nonatomic,strong) UIColor * circleColor; @end @implementation JXHypnosisView - (in…
视图基础 视图是 UIView 对象,或者其子对象. 视图知道如何绘制自己. 视图可以处理事件,例如触摸(touch). 视图会按照层次结构排列,位于视图层次结构顶端的是应用窗口. 视图层次结构 任何应用有且只有一个  UIWindow 对象. UIWindow 对象就像是一个容器,负责包含应用中的所有的视图.应用需要在启动时创建并设置 UIWindow 对象,然后为其添加其他视图. 加入窗口的视图会成为该窗口的子视图.窗口的子视图还可以有自己的子视图,从而构成一个以 UIWindow 对象为根…
栈 当程序执行某个方法(或函数)时,会从内存中一个叫栈的区域分配一块内存空间,这块内存空间我们叫帧.帧负责保护程序在方法内声明的变量的值.在方法内声明的变量我们称之为局部变量. 当我们的程序开始启动,作为程序的入口main函数,他的帧会被保存在栈的地步.当main调用另一个方法时,这个方法会被压入栈的顶部.被调用的方法还会调用其他的方法,这样一直调用,就会形成一个帧序列.当调用的方法执行结束的时候,程序会将其帧从栈顶“弹出”并释放响应的内存. 所以栈的内存形式是先进后出. 堆 堆是值内存中的另一…
1.应用在iPhone6plus 系统iOS9.1安装时没遇到问题,在iPhone4s 系统iOS 7时bulid success 但是安装失败提示 There was an internal API error 问题原因:1.product name改的是中文 修改方法:以比较慢的速度双击项目导航界面中的项目名称,变成可编辑状态,修改项目名称 在按“回车”后,XCode会自动跳出对话框提示所有与项目名称有关的修改.你可以勾选其中你想要的 点击“Rename”按钮后,继续点击Continue然后…
其实,尝尝有人很疑惑,不知道自己要干嘛,看到很多的培训机构,不知道怎么选择但是又想进入软件行业.其实呢学习不一定要靠培训机构,一定要培训,特别是 当人家把自己吹的天花乱坠的时候,然并卵.出来之后,也只是皮毛.我就是自学的ios开发,下面我来介绍一下学习方法,首先呢,我们现在处在一个互联网时 代,而且不是起步,所以只要我们用心的话,那么你就会发现网上充斥着大量的资料,不论是PDF,还是Word,还是说视频,其实这些我们都是可以找的到 的,那么问题来了,我们干嘛不靠自己呢.我记得一句话:求人不如求己…
一 面向过程编程: 处理事情以过程为核心,一步一步的实现 二 面向对象编程: 万物皆对象 三 链式编程思想: 将多个操作通过点链接在一起成为一句代码 特点:方法返回值是Block,block必须有一个返回值(本身对象),block参数(需要操作的值) 四 响应式编程思想: 不需要考虑编程调用顺序,只需要考虑结果,类似与蝴蝶效应   eg:KVO的运用 五 函数式编程思想: 把操作尽量写成一系列嵌套的函数式法方法调用 特点:每个方法必须有返回值(本身对象),把function或block作为参数,…
概述 IOS设备中的相机和相册,是我们在项目开发中经常会使用到的多媒体元素,使用相机可以获得最新想要的照片,而使用相册则可以访问IOS设备中的图片资源 使用IOS设备中的相机/相册获得图片资源 是否允许使用 BOOL isAvailable = [UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera/UIImagePickerControllerSourceTypePhotoLi…
// //  ViewController.m //  LearnAddressBook0 // //  Created by Mac on 14-7-28. //  Copyright (c) 2014年 Digital media technology. All rights reserved. // #import "ViewController.h" #import <AddressBook/AddressBook.h> #import <AddressBoo…
rt,最近搞一个高清图传,本着自(bu)主(mai)创(da)新(jiang)的原则,打算利用手中的iPad当作辅助飞行屏幕,USB传输数据.再说某疆图传7999(还只支持自家云台录像拍照),哪是我这等小学生消费得起的??? 现在刚绕明白OFDM正交子载波序列,又被接收端移动设备绕进去了.本来只考虑安卓的话是FT311无疑,但是……屏幕太小:换iOS?MFi过不去,只能类似电脑与iOS通讯方式. 通讯先不管,数据传进来如何显示???刷新率60Hz,先用Stream写成PNG再不断更新?还是直接按…
App设计基础 在确定了你的App主要功能后,需要把它转化为代码.如果你是第一次开发属于自己的iOS App,需要花些时间熟悉基本概念.iOS内置了很多设计样式,多了解下能对你以后有帮助. 初稿 设计之初,明白你的程序需要做什么很重要.写下这些和你的数据有关的高级特性:对这些进行优先级排序,即实现用户比较需要的功能:研究下iOS,以便你对用什么去实现功能有个明确方向:画出设计草图.如果你对设计iOS程序不是很了解,建议先看看官方的设计准则(链接在文章结尾.). 了解iOS设计样式和技术的基础 M…
原地址:http://www.appcoda.com/what-you-need-to-begin-ios-programming/ 1.准备一台苹果设备 这段基本是废话,我就不翻译了,IOS开发你懂的,可以先买个Mac Mini凑合用,有钱就买iMac.没钱像我这样的,可以在PC 上装一个VMware 虚拟机:需要说的一点,不管是Mac还是虚拟机,操作系统版本需要Mac OS X10.7 或以上. 2.注册苹果开发者帐号 注册开发账号,任何人都可以免费注册成为苹果的开发人员.通过注册开发者账号…
不知道大家对throttle这个单词是否看着眼熟,还是说对这个计算机基础概念有很清晰的了解了.今天就来聊聊和throttle相关的一些技术场景. 定义 我经常有一种感觉,对于英语这门语言的语感,会影响我们对于一些关键技术概念的理解.有时候在学习新技术知识的时候,我会先花一些时间去了解术语英文单词的各种语义,在形成强烈清晰的语感之后,再去深入具体的技术语境.throttle也算是个生僻的单词,至少在口语中毕竟少用到,先来看看词义: a device controlling the flow of…