
ios
码农老关【关东升】
关东升,国内著名技术专家,架构师,项目经理、技术顾问,技术图书作家,51CTO学院金牌讲师。
擅长技术:
移动开发、前后端技术、游戏开发、数据库开发与设计、软件架构设计等多种IT技术。
20多年教学经验:
教授近万名学员,近期为中国移动、中国联通、南方航空、中石油、工商银行、平安银行和天津港务局等企事业单位授课。
著有50本多部畅销书:
《看漫画学Python》
《看漫画学Python2》
《极简ChatGPT: 如何利用AI提高办公效率》
《极简ChatGPT:如何利用AI实现Python自动编程》
《AI时代程序员开发之道:ChatGPT让程序员插上翅膀》
展开
-
《iPhone与iPad开发实战——iOS 经典应用剖析》出版在即,敬请期待
《iPhone与iPad开发实战——iOS 经典应用剖析》出版在即,敬请期待作者:关东升 赵志荣出版社:机械工业出版社目录第1章 开篇综述1.1iOS概述1.2App Store1.3iOS应用程序分类1.3.1实用性应用场景1.3.2效率性应用场景1.3.3沉浸式系统应用场景1.4 HIG和什么是好的iOS应用 1.5 xcode的安装1.原创 2011-10-20 16:17:46 · 2130 阅读 · 0 评论 -
使用SBJson
Json是一种类似XML的数据传输方式。详细介绍请看:介绍JSONSBJson是与Objective-C结合比较好的库。使用SBJson的文件需包含JSON.h头文件。id jsonObject = [jsonString JSONValue]; 此句创建json对象,JSONValue自动将json字符内容初始化为json对象。当然先需要将json文件内容读取为字转载 2011-11-07 10:27:21 · 2279 阅读 · 0 评论 -
SBJson (aka json-framework)
SBJson (aka json-framework)JSON (JavaScript Object Notation) is a light-weight data interchange format that's easy to read and write for humans and computers alike. This library implements strict JS转载 2011-11-07 10:28:08 · 2090 阅读 · 0 评论 -
JSON介绍
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。 易于人阅读和编写。同时也易于机器解析和生成。 它基于JavaScript Programming Language,Standard ECMA-262 3rd Edition - December 1999的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包转载 2011-11-07 10:29:31 · 1787 阅读 · 0 评论 -
IPhone之AVAudioRecorder
#import 需要引入 //获取document目录的路径- (NSString*) documentsPath { if (! _documentsPath) { NSArray *searchPaths = NSSearchPathForDirectoriesInDomains (NSDocumentDirectory, NSUserDomainMask,原创 2011-11-07 21:49:23 · 3356 阅读 · 0 评论 -
Objective-C中协议和委托
Objective-C中的协议(Protocol)类似于常用的接口,协议(Protocols)中定义的方法,在类中实现。@protocol MyFirstProtocol- (void)myFirstProtocolMethod;@end在iPhone OS中,协议(Protocol)通常用来实现委托对象(Delegate Object)。委托对象(Delegate Object)原创 2012-03-26 16:23:50 · 1642 阅读 · 0 评论 -
使用subversion管理iOS源代码
使用subversion管理iOS源代码 1、安装和配置subversion服务器 在windows 服务器上安装VisualSVN-Server,下载地址http://www.visualsvn.com/server/download/。采用默认安装,安装完成创建一个服务器的代码仓库hello,如图所示。然后在Users右键创建用户tony,再回到hello仓库右原创 2012-03-28 09:26:48 · 2395 阅读 · 0 评论 -
使用github管理iOS分布式项目开发
使用github管理iOS分布式项目开发 在我们iOS项目开发过程中, 我们的团队成员都是分散的、分布式,这个项目管理带来了挑战。Git是一个能够进行版本管理的软件,它是cvs和svn的未来。下面我根据我们的经验总结一些心得如下:1、创建github账户2、创建代码仓库3、在xcode中添加项目到github4、创建组织和团队5、其他队员clone项目 创建gi原创 2012-03-28 16:13:07 · 6279 阅读 · 0 评论 -
使用github管理Eclipse分布式项目开发
使用github管理Eclipse分布式项目开发 老关我在前面的博文(github管理iOS分布式项目开发)中介绍了github管理iOS分布式开发,今天老关将向大家介绍使用github管理Eclipse分布式项目。事实上我们的516inc团队这在开发一个多移动平台项目,除了iOS平台还有Android和Window Phone 7平台,使用github管理我们Android项目,其实就是原创 2012-04-02 18:27:30 · 7016 阅读 · 1 评论 -
《iPhone与iPad开发实战—iOS经典应用剖析》连载三
3.3 应用实战与讲解这一节我们将实际编写这个应用,边做边讲解的方式。按照搭建应用骨架、视图翻转动画、主视图UI和代码、主视图控制器代码、背后视图UI和代码、背后视图控制器,这样的顺序编写和讲解。3.3.1 构建应用骨架在本书采用Xcode3.2工具中提供了一个编写实用型应用程序的模板,图3-11是Xcode3.2的模板,其中Utility Application选项就原创 2012-05-27 17:15:14 · 2378 阅读 · 0 评论 -
《iPhone与iPad开发实战—iOS经典应用剖析》连载四
3.3.2 视图翻转动画点击主视图右下角的按钮,主视图会翻转到背后视图,在背后视图点击Done按钮可以返回到主视图。在iOS中这是一种视图跳转的方式,同时还伴有动画效果。在本应用中采用的是,通过一个根控制器(控制其它控制器的控制器)RootViewController,来控制主视图控制器(MainViewController)和背后视图控制器(FlipsideViewControlle原创 2012-05-30 15:03:59 · 2129 阅读 · 0 评论 -
《iPhone与iPad开发实战—iOS经典应用剖析》连载五
RootViewController的h文件编写完成我们接着编写RootViewController的m文件如“代码清单3-2 Password/Classes/RootViewController.m”所示。【代码清单3-1】 Password/Classes/RootViewController.m#import "RootViewController.h"#import "Main原创 2012-06-03 17:36:56 · 2568 阅读 · 0 评论 -
《iPhone与iPad开发实战—iOS经典应用剖析》连载六
3.3.3 主视图UI主视图如图3-36所示是MainView(主视图)设计窗口,我们一步一步介绍一下如何实现该视图设计和编程。图3-36 MainView视图设计窗口主视图中的控件进行了编号,视图中的控件内容见表3-7所示。表3-7MainView视图中的控件原创 2012-06-08 14:05:21 · 2728 阅读 · 0 评论 -
《iPhone与iPad开发实战—iOS经典应用剖析》连载七
3.3.4主视图代码在本应用中主视图中使用的视图是MainView,事实上在很多应用中我们不用为视图控制器自定义一个视图类的而是直接使用UIView基类就可以了。由于本应用是按照旧版本的Xcode模板编写的,我们还是按照旧版本介绍吧。在Cocoa MVC设计模式中,视图中的控件在视图控制器或者视图中都要有对应的控件变量,没有自定义视图类的时候,这些控件变量是在视图控制器中定义的,有了自原创 2012-06-12 10:22:24 · 2428 阅读 · 0 评论 -
《iPhone与iPad开发实战—iOS经典应用剖析》连载八
3.3.5 主视图控制器代码主视图控制器是MainViewController,由于视图使用的控件都已经在视图MainView中定义了,所以在视图控制器MainViewController代码很少了,在本应用中还设计了按钮按下和按钮选择时候的普通和高亮状态效果。这些效果可以在检查器中设定,也可以通过代码设定,本应用是通过代码设定这些效果。先看看主视图控制器类MainViewContro原创 2012-06-15 15:41:49 · 2519 阅读 · 0 评论 -
《iPhone与iPad开发实战—iOS经典应用剖析》连载一
第3章 工具类应用开发实战--密码生成应用3.1 应用介绍密码生成(Amuck Password Generator)应用App Store下载网址http://itunes.apple.com/app/amuck-password-generator/id289301501?mt=8#,源代码下载地址http://www.appsamuck.com/day29.htm原创 2012-05-23 16:05:13 · 3370 阅读 · 2 评论 -
2.1 Objective-C概述
《iPhone与iPad开发实战--iOS经典应用剖析》第2章Objective-C语言基础,通过本章的学习,读者可以了解Objective-C基本语法,包括:数据类型、表达式,还有类、对象等概念。本节为Objective-C概述。第2章 Objective-C语言基础iOS的项目中主要采用Objective-C语言编写,因此在开始讲解具体项目之前,本章将介绍Objective-C语原创 2012-06-21 15:55:28 · 2668 阅读 · 0 评论 -
如何去旧工程适配iOS6和iPhone5
苹果每发布一个系统,都够开发者忙活一阵的,更新xcode适配新系统:像iOS4支持Retain需要@2x的图;像iOS5不支持udid;像现在的iOS6和iPhone5要面对的下面的一堆问题。1.添加Retina 4 launch image,运行工程的时候会主动提示你。这时候直接点Add就好了。会默认添加一张Default-568h@2x.png的黑图:不添加的话,程序运行起来会转载 2012-09-27 10:40:42 · 2085 阅读 · 1 评论 -
iPhone 开发过程中的一些小技术的总结
1 随机数的使用头文件的引用#import #import srandom()的使用srandom((unsigned)(mach_absolute_time() & 0xFFFFFFFF));直接使用 random() 来调用随机数2 在UIImageView 中旋转图像float rotateAngle = M_PI;CGAffineTransform tr转载 2012-09-24 10:36:13 · 2237 阅读 · 0 评论 -
Cocoa教学:Windows OOP与Cocoa MVC之对比
封装不封装,这是个问题。今天我在看Cocoa开发者邮件列表的时候,看到一个帖子,求助如何在两个View之间互相通信的问题。做Windows程序员的时间长的我都不好意思说了,我意识到,这个问题在我刚刚接触到Mac上的Objective-C时也遇到过。我现在可以提出这个问题的简化版:“我有一个对话框,获取了一些用户输入的数据。我现在需要从我那个对话框中把这个数据提取出来以供主窗口使用。如何才能转载 2012-09-24 11:06:58 · 2190 阅读 · 1 评论 -
iPhone文件系统NSFileManager讲解
iPhone文件系统NSFileManager讲解是本文要介绍的内容,主要是通过iphone文件系统来学习NSFileManager的使用方法,具体内容来看本文详解。iPhone文件系统:创建、重命名以及删除文件,NSFileManager中包含了用来查询单词库目录、创建、重命名、删除目录以及获取/设置文件属性的方法(可读性,可编写性等等)。每个程序都会有它自己的沙盒,通过它你可以阅读/编转载 2012-09-26 15:28:23 · 1892 阅读 · 0 评论 -
Objective-C与Objective-C++的混用代码示例
很多已经熟悉C/C++的朋友在初次使用Objective-C作为开发语言时不是很习惯,不过objective-C/C++本身又是几乎完全兼容GNU C/C++的。这里作为一个代码实例来描述Objective-C与objective-C++如何混合使用。其实这就同C与C++如何混用一样,还是非常容易上手的。不 过,为了能够更好地看清这一混合优势。项目中使用了objective-C/C++一个转载 2012-09-26 08:21:59 · 2093 阅读 · 0 评论 -
iOS客户端的APNS服务简介与实现
APNs --Apple Push Notification ServiceAPNs 苹果推送服务器Device 安装带有推送服务程序的iPhone手机Provider 程序服务器,把需要推送的信息发给 APNsDeviceToken 在Device第一次连接APNs时,由APNs生成的经过加密的连接认证信息。在以后的连接中,无论时Provider到APNs还是APNs到Devic转载 2012-10-30 10:11:50 · 2554 阅读 · 0 评论 -
objective-c ——代码块
通过代码块(block)功能,你就能像对待对象一般,指定要在方法和函数中传递任意代码部分。代码块的声明:int main (int argc, const char * argv[]){@autoreleasepool {void (^myBlock) (NSString *x);//声明变量/*代码块是存储在一个变量中,并且需要参数和声明的返回类型。返回类型:转载 2012-10-24 12:28:14 · 4983 阅读 · 2 评论 -
iOS开发缓存机制之—内存缓存机制
在IOS应用程序开发中,为了减少与服务端的交互次数,加快用户的响应速度,一般都会在iOS设备中加一个缓存的机制。这篇文章将介绍一下如何在iOS设备中进行缓存,本文先介绍一下将内容缓存到内存中,下一篇文章就介绍一下在iOS磁盘上缓存内容。 使用缓存的目的是为了使用的应用程序能更快速的响应用户输入,是程序高效的运行。有时候我们需要将远程web服务器获取的数据缓存起来,减少对同一个url转载 2012-10-25 09:48:13 · 2204 阅读 · 0 评论 -
复杂XML的解析及组装
在实际的项目中,IPhone应用程序会存在很多与服务器之间的数据交互的地方,XML是首选方案。此包可以解决XML文件的解析、对象转化为XML字符串的问题。1 通过调用解析类,可以将XML的DATA数据转换为XmlNode对象,XmlNode以树形结构进行XML的数据封装,使用的时候按照树形结构进行数据的获取。XmlNode结构如下:01 @ interface XmlNo转载 2012-11-08 15:49:23 · 2179 阅读 · 0 评论 -
苹果iOS 6悄然启用新型精准广告追踪技术
北京时间10月12日下午消息,据美国科技博客BusinessInsider报道,在今年9月推出iOS 6后,苹果开始通过一项名为IFA或IDFA的新技术追踪用户,发布精准广告。在此之前,广告主原本可以借助UDID识别码追踪iPhone用户,但苹果后来禁用了这一技术。但多名移动广告行业高管透露,通过IFA技术,iOS 6对用户的追踪效果将会加强。IFA是“identifier for adv转载 2012-11-15 09:25:43 · 2093 阅读 · 1 评论 -
我的作品《iPhone与iPad开发实战—iOS经典应用剖析》--以及源码下载地址
我的作品:《iPhone与iPad开发实战—iOS经典应用剖析》一书正式发售;(请到书店、淘宝、当当网等进行购买) 首先给出书籍源码下载地址,然后再对书籍进行一个详细的介绍!《iPhone与iPad开发实战—iOS经典应用剖析》书籍源码下载地址(免费下载): http://download.youkuaiyun.com/detail/tonny_guan/4272389原创 2012-05-10 14:06:06 · 7792 阅读 · 13 评论 -
iOS开发那些事--OCUnit测试框架
使用OCUnit测试框架iOS单元测试框架原则上,是否使用测试框架都不会影响单元测试结果,但是“工欲善其事,必先利其器”使用单元测试框架更便于我们测试和分析结果。主要的iOS单元测试框架有:OCUnit,是开源测试框架,与Xcode工具集成在一起使用非常方便,测试报告以文本形式输出到输出窗口;GHUnit,是开源测试框架,它可以将测试报告以应用形式可视化输出到设备或模拟器上,也可以原创 2013-01-18 11:16:43 · 5648 阅读 · 1 评论 -
iOS开发那些事--简单表视图
表视图是iOS开发中使用最频繁的视图,我们一般都会选择以表的形式来展现数据,比如通讯录、频道列表等。表视图分段、分组、索引等功能使我们所展示的数据看起来更规整更有调理,更令人兴奋的是表视图还可以利用细节展示等功能多层次的展示数据,正所谓一表胜千言。 不过,相较于其它控件表视图的使用比较复杂,但是对比于表视图各种灵活多变的功能,我们在使用上花费的努力还是相当值得的。简单表视图表视图的形式原创 2013-02-27 16:17:18 · 2770 阅读 · 0 评论 -
iPhone与iPad开发实战——精通iOS开发--视频
iPhone与iPad开发实战——精通iOS开发地址:http://v.51work6.com/courseInfoRedirect.do?action=courseInfo&courseId=240566课程要求:熟悉C,C++,objective C项目平台:演示:mac os版本:xcode3.25,ios4.2工具:xcode涉及知识:语言:objective C操作系统:iOS手机操作系原创 2011-11-30 11:52:41 · 4739 阅读 · 0 评论 -
iPhone与iPad开发实战——iOS 经典应用剖析视频--观看地址
iPhone与iPad开发实战——iOS 经典应用剖析视频试看地址:http://v.51work6.com/courseInfoRedirect.do?action=courseInfo&courseId=241038课程要求熟悉C,C++,Objective C,有相关工作经验。项目平台:演示:mac os版本:xcode3.25,iOS4.2工具:xcode涉及知识:语言:Objective原创 2011-10-25 10:50:01 · 2440 阅读 · 0 评论 -
iPhone与iPad开发实战——精通Object C--视频
iPhone与iPad开发实战——精通Object C观看地址:http://v.51work6.com/courseInfoRedirect.do?action=courseInfo&courseId=240564 ios作为一款为移动终端打造的手持设备操作平台,其引领技术前沿、时尚前沿、拥有自主知识产权,引起业界的高度关注。在2011年股市动荡“经济寒流”中,苹果公司一跃成为全球市值第一的公原创 2011-11-05 10:38:24 · 2381 阅读 · 0 评论 -
iPhone与iPad开发实战——iOS 经典应用剖析--视频
iPhone与iPad开发实战——iOS 经典应用剖析视频观看地址:http://v.51work6.com/courseInfoRedirect.do?action=courseInfo&courseId=241038 ios作为一款为移动终端打造的手持设备操作平台,其引领技术前沿、时尚前沿、拥有自主知识产权,引起业界的高度关注。在2011年股市动荡“经济寒流”中,苹果公司一跃成为原创 2011-10-23 12:04:04 · 2338 阅读 · 0 评论 -
《iOS开发指南》第二版 iOS7版-源码-样章-目录,感谢大家一直以来的支持
《iOS开发指南-从0基础到AppStore上线》第二版 iOS7版正式出版了感谢大家一直以来的支持!改版后采用全新的ios 7 api,详细介绍了最新的ios 7 开发相关的知识点,全部案例以iOS7版本SDK重新编译。新增:iOS 7中文字排版和渲染引擎——Text Kit; iOS6升级到iOS7遇到的问题与解决方法; 着重讲解iOS分层架构设计;原创 2014-03-20 17:01:47 · 6403 阅读 · 5 评论 -
全国首发-Swift视频教程-共68课时(已更新完成)
http://v.51work6.com/viewCourseDetail.do?courseId=799262http://v.51work6.com/viewCourseDetail.do?courseId=799438原创 2014-06-13 13:19:39 · 10035 阅读 · 1 评论 -
Swift中的注释以及表达式
Swift程序有两类注释:单行注释(//)和多行注释(/*...*/)。注释方法与C、C++和Objective-C语言都是类似的,下面详细介绍一下。1. 单行注释单行注释可以注释整行或者一行中的一部分,一般不用于连续多行的注释文本。当然,它也可以用来注释连续多行的代码段。以下是两种注释风格的例子:if x > 1 { //注释1} else { return false; //原创 2014-08-15 14:03:50 · 4678 阅读 · 0 评论 -
Objective-C调用Swift
Objective-C调用Swift如果已经有了一个老的iOS应用,它是使用Objective-C编写的,而它的一些新功能需要采用Swift来编写,这时就可以从Objective-C调用Swift。Objective-C调用Swift时不需要桥接头文件,而是需要Xcode生成的头文件。这种文件由Xcode生成,不需要我们维护,对于开发人员也是不可见的。如图18-11所示,它能够将Swift原创 2014-08-17 17:04:59 · 24852 阅读 · 5 评论 -
Cocos2d-x开发实例:使用Lambda 表达式
Cocos2d-x开发实例:使用Lambda 表达式在Cocos2d-x 3.0之后提供了对C++11标准[1]的支持,其中的Lambda[2]表达式使用起来非常简洁。我们可以使用Lambda表达式重构上一节的实例。我们可以将下面的代码:listener->onTouchBegan =CC_CALLBACK_2(HelloWorld::onTouchBegan, this);... ...原创 2014-07-26 20:00:24 · 6810 阅读 · 0 评论 -
智捷公开课马上开始了-欢迎大家一起讨论学习-第一系列读《Swift开发指南(修订版) 》看Swift视频教程
智捷课堂携手51CTO学院、图灵教育联合举办iOS线上培训就业班系列体验公开课。 分享移动开发、移动设计方向最新,最热,最抢眼技术热点以及设计经验。我们每周将最少举办一次公开课,同时会提前安排公开课进度。关于公开课内容,我们将选择时下热门技术与大家分享,同时我们也希望能与大家进行交流,并搜集大家想了解的热点与大家分享。原创 2015-01-15 15:54:19 · 2262 阅读 · 0 评论