
实战
码农老关【关东升】
关东升,国内著名技术专家,架构师,项目经理、技术顾问,技术图书作家,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 评论 -
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 评论 -
iOS网络编程实践--蓝牙对等网络通信实例讲解
基于蓝牙对等网络通信就是使用Game Kit中的GKSession、GKSessionDelegate、GKPeerPickerController和GKPeerPickerControllerDelegate来实现。开发过程分为3个步骤:连接、发送数据和接收数据。下面我们通过一个实例介绍一下基于蓝牙对等网络通信过程。用户点击“连接”按钮,建立连接过程中会出现连接对话框,根据具体情况也会弹出其它的原创 2013-04-10 08:47:57 · 13527 阅读 · 12 评论 -
iOS网络编程-配置iCloud-图文解说
配置iCloud开发iCloud应用一方面需要准备真实的iOS设备,另一方面还需要有iOS开发者账号,使用iOS开发者账号登录到iOS开发中心的配置门户网站(iOS Provisioning Portal 网址为https://developer.apple.com/ios/manage/overview/index.action),可以为应用做一些与iCloud有关的配置工作。这些工作包括:创建原创 2013-04-26 09:59:13 · 3662 阅读 · 0 评论 -
iOS网络编程-iCloud键值数据存储编程实例
iCloud键值数据存储设计iCloud键值数据存储编程实例,画面中有两个开关控件,左图是设备1点击“设置iCloud数据”按钮,将控件状态保存到iCloud服务器。右图是设备2画面,过几秒钟后设备2收到变更通知。 配置Xcode工程使用Xcode创建一个iOS工程,工程创建好之后,选择TAGETS→MyNotes→Summary→Entitlements,我们可以在这里配置授权信息。然后我们还原创 2013-04-28 09:31:52 · 9528 阅读 · 7 评论 -
iOS网络编程-iCloud文档存储编程实例
iCloud文档存储编程相对键值数据存储而言比较复杂,涉及到自定义文档类、获得iCloud文档目录、查找Ubiquity容器中的文档、保存文档和解决文档冲突等内容。实例:iCloud文档存储编程设计实例介绍一下iCloud文档存储编程过程,画面中有一个文本框和一个按钮控件,在设备1输入内容,点击“保存数据”按钮,将数据保存iCloud服务器。右图是设备2画面,过几秒钟后设备2上会读取iCloud服原创 2013-05-02 08:06:39 · 4199 阅读 · 0 评论 -
Android网络游戏之神农诀项目开发--视频观看地址
Android网络游戏之神农诀项目开发观看地址:http://v.51work6.com/courseInfoRedirect.do?action=courseInfo&courseId=240570课程要求:熟悉java,android,有相关工作经验。项目平台:演示:XP版本:Eclipse3.5,Android2.2工具:Eclipse涉及知识:语言:java操作系统:Android手机操作原创 2011-10-29 16:02:19 · 3151 阅读 · 2 评论 -
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开发实战——iOS 经典应用剖析--视频
iPhone与iPad开发实战——iOS 经典应用剖析视频观看地址:http://v.51work6.com/courseInfoRedirect.do?action=courseInfo&courseId=241038 ios作为一款为移动终端打造的手持设备操作平台,其引领技术前沿、时尚前沿、拥有自主知识产权,引起业界的高度关注。在2011年股市动荡“经济寒流”中,苹果公司一跃成为原创 2011-10-23 12:04:04 · 2338 阅读 · 0 评论 -
Swift类型检查与转换
继承会发生在子类和父类中,如图15-4所示,是一系列类的继承关系类图,Person是类层次结构中的根类,Student是Person的直接子类,Worker是Person的直接子类。这个继承关系类图的具体实现代码如下:class Person { var name : String var age : Int func description() -> String {原创 2014-09-04 19:40:18 · 9239 阅读 · 0 评论 -
关于《Swift开发指南》背后的那些事
时间轴(倒叙)2014年8月底在图灵出版社的大力支持下,全球第一本全面、系统、科学的,包含本人多年经验的呕心沥血之作《Swift开发指南》(配有同步视频课程和同步练习)全线重磅推出2014年7月5日苹果宣布Swift语言二十天后,《Swift开发指南》第一稿交予图灵出版社2014年6月9日苹果宣布Swift语言三天后,启动《Swift开发指南》撰写2014年6月2日凌晨1点(北京时间:)在苹果开发原创 2014-08-22 19:07:24 · 8473 阅读 · 5 评论 -
Swift构造器重载
与函数一样,方法也存在重载,其重载的方式与函数一致。那么作为构造器的特殊方法,是否也存在重载呢?答案是肯定的。一、构造器重载概念Swift中函数重载的条件也适用于构造器,条件如下:函数有相同的名字;参数列表不同或返回值类型不同,或外部参数名不同;Swift中的构造器可以满足以下两个条件,代码如下:class Rectangle { var width : Double v原创 2014-08-30 20:04:57 · 3851 阅读 · 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 评论 -
Swift结构体与类
在面向过程的编程语言(如C语言)中,结构体用得比较多,但是面向对象之后,如在C++和Objective-C中,结构体已经很少使用了。这是因为结构体能够做的事情,类完全可以取而代之。而Swift语言却非常重视结构体,把结构体作为实现面向对象的重要手段。Swift中的结构体与C++和Objective-C中的结构体有很大的差别,C++和Objective-C中的结构体只能定义一组相关的成员变量,而Sw原创 2014-08-30 20:14:51 · 6763 阅读 · 1 评论 -
Swift静态属性
在介绍静态属性之前,我们先来看一个类的设计,有一个Account(银行账户)类,假设它有3个属性:amount(账户金额)、interestRate(利率)和owner(账户名)。在这3个属性中,amount和owner会因人而异,不同的账户这些内容是不同的,而所有账户的interestRate都是相同的。amount和owner属性与账户个体有关,称为实例属性。interestRate属性与个体原创 2014-09-01 22:09:40 · 14509 阅读 · 1 评论 -
Cocos2d-x实例:单点触摸事件
为了让大家掌握Cocos2d-x中的事件机制,下面我们以触摸事件为例,使用事件触发器实现单点触摸事件。该实例如图8-3所示,场景中有三个方块精灵,显示顺序如图8-3所示,拖拽它们可以移动它们,事件响应优先级是按照它们的显示顺序。下面我们再看看具体的程序代码,首先看一下HelloWorldScene.h文件,它的代码如下: #ifndef __HELLOWORLD_SCENE_H__#define原创 2014-07-24 20:37:54 · 11474 阅读 · 0 评论 -
Cocos2d-x中触摸事件
理解一个触摸事件可以从时间和空间两方面考虑。1、触摸事件的时间方面触摸事件的在时间方面,如下图所示,可以有不同的“按下”、“移动”和“抬起”等阶段,表示触摸是否刚刚开始、是否正在移动或处于静止状态,以及何时结束,也就是手指何时从屏幕抬起。此外,触摸事件的不同阶段都可以有单点触摸或多点触摸,是否支持多点触摸还要看设备和平台。 触摸事件有两个事件监听器:EventListenerTouchOneByO原创 2014-07-23 20:01:08 · 3887 阅读 · 1 评论 -
Cocos2d-x开发实例介绍帧动画使用
下面我们通过一个实例介绍一下帧动画的使用,这个实例如下图所示,点击Go按钮开始播放动画,这时候播放按钮标题变为Stop,点击Stop按钮可以停止播放动画。 下面我们再看看具体的程序代码,首先看一下看HelloWorldScene.h文件,它的代码如下:#ifndef __HELLOWORLD_SCENE_H__#define __HELL原创 2014-07-15 16:14:39 · 4596 阅读 · 0 评论 -
Cocos2d-x如何控制动作速度
基本动作和组合动作实现了针对精灵的各种运动和动画效果的改变。但这样的改变速度匀速的、线性的。通过ActionEase及其的派生类和Speed 类我们可以使精灵以非匀速或非线性速度运动,这样看起了效果更加逼真。ActionEase的类图如下图所示。 下面我们通过一个实例介绍一下这些动作中速度的控制的使用,这个实例如下图所示,上图是一个操作菜单原创 2014-07-12 11:03:17 · 6961 阅读 · 0 评论 -
Cocos2d-x开发实例介绍特效演示
下面我们通过一个实例介绍几个特效的使用,这个实例下图所示,下图是一个操作菜单场景,选择菜单可以进入到下图动作场景,在下图动作场景中点击Go按钮可以执行我们选择的特性动作,点击Back按钮可以返回到菜单场景。 下面我们再看看具体的程序代码,首先看一下看HelloWorldScene.h文件,它的代码如下:#ifndef __HELLOWORL原创 2014-07-13 21:10:34 · 4715 阅读 · 2 评论 -
《iOS开发指南》要改iOS8版本了,听听您的意见?
《iOS开发指南》要改iOS8版本了,听听您的意见?参加问卷同学均可获得智捷课堂50元代金卡一张,同时抽取一名同学赠送即将出版的基于iOS8的《iOS开发指南》一本,欢迎大家填写问卷http://www.diaochapai.com/survey/17a0cd7b-ef61-40ec-b51f-4e85acdd9fb5原创 2014-12-30 11:00:58 · 2526 阅读 · 2 评论 -
智捷课堂改版啦!
新站上线,为庆祝网站改版,全站所有视频限时免费三天(8月5日至8月8日),自改版(8月5日)起7天内,站内所有会员打8折!!!!在网站注册的每第100名用户,我们会送出礼品哦! 更酷炫的界面,更高的用户体验,更超值活动,更有海量精品课程! 智捷课堂现推出会员服务,全站会员可收看全站所有iOS,Cocos,移动设计,Android,Java等所有免费及收费课程,并有为您定制的iOS会员,Co原创 2015-08-04 12:06:10 · 2668 阅读 · 1 评论