大家好: 苹果2015WWDC大会公布了Swift2.0,它较之前的版本号Swift1.x有非常大的变化.所以我即将出版<从零開始学Swift><从零開始学Swift>将在<Swift开发指南>第1版的基础上加入Swift2.0的内容,同一时候摒弃第1版的一些不合理的内容.使得本书更加适合Swift开发人员.我将连续发一些<从零開始学Swift>的学习笔记,有兴趣者,能够看一下. 书中源码下载地址:http://51work6.com/swiftbook1.…
上节课,也就是昨晚啦,我们学习到从零開始学Swift之Hello World.那一节仅仅有一句代码,大家会认为不够过瘾. 那么这节课,就给大家来多点瘾货吧! 先上图! //var 代表变量的类型, start 代表变量的名称. "Hello" 代表变量的值. var start = "Hello" var dot = " , " var end = "world!" // let 是什么意思呢? let total = sta…
 Swift 2.0学习笔记(Day5)--我所知道的标识符和keyword   原创文章,欢迎转载.转载请注明:关东升的博客 好多计算机语言都有标识符和keyword,一直没有好好的总结,就是这种用着,如今小小的整理一下Swift中的标识符和keyword. 什么是标识符呢? 标识符就是给变量.常量.方法.函数.枚举.结构体.类.协议等由开发者指定的名字. 事实上.构成标识符的字母是有一定规范的,Swift中命名规则是: 区分大写和小写.Myname与myname是两个不同的标识符: 标识…
 Swift 2.0学习笔记--我的第一行Swift代码 原创文章,欢迎转载. 转载请注明:关东升的博客 当第一次看到以下代码时我石化了.这些代码是什么东东?单词拼出来的? import Foundation var str = "HelloWorld"        print(str) 晕晕.好吧.低头继续往下看,哦明确了 第一句:import Foundation 表示引入Foundation框架. 什么是Foundation框架? Foundation是OS X和iOS应用…
原创文章,欢迎转载. 转载请注明:关东升的博客 在Swift原生数据类型.Foundation框架数据类型和Core Foundation框架数据类型之间转换过程中,尽管是大部分是能够零开销桥接,零开销并不意味着内存什么都不用管.Swift类型内存管理是採用ARC,Foundation类型和Core Foundation类型内存管理都是採用MRC或ARC.CoreFoundation类型内存管理是基于C语言风格的.它有一个对象全部权的概念. Objective-C的MRC内存管理 Core Fo…
原创文章,欢迎转载.转载请注明:关东升的博客 实现目标与动作关联使用UIControl类addTarget(_:action:forControlEvents:)方法,演示样例代码例如以下: button.addTarget(self, action: "onClick:", forControlEvents: UIControlEvents.TouchUpInside) 当中的action參数"onClick:"其实就是选择器(Selector). 问题提出 不论…
原创文章.欢迎转载.转载请注明:关东升的博客 前面说到Swift凝视的语法有两种:单行凝视(//)和多行凝视(/*...*/).这里来介绍一下他们的使用规范. 1.文件凝视 文件凝视就在每个文件开头加入凝视,文件凝视通常包含例如以下信息:版权信息.文件名称.所在模块.作者信息.历史版本号信息.文件内容和作用等. 以下看一个文件凝视的演示样例: /* Copyright (C) 2015 Eorient Inc. All Rights Reserved. See LICENSE.txt for t…
创文章,欢迎转载.转载请注明:关东升的博客   Core Foundation框架是苹果公司提供一套概念来源于Foundation框架,编程接口面向C语言风格的API.尽管在Swift中调用这样的C语言风格的API比較麻烦,可是在OS X和iOS开发过程中,有时候使用CoreFoundation框架的API是很方便的,比如在与C语言混合编码的时候. Core Foundation框架与Foundation框架紧密相关,他们具有与同样的接口,可是不同.Core Foundation框架是基于C语言…
原创文章,欢迎转载. 转载请注明:关东升的博客 Swift错误处理模式,在Swift1.x和Swift 2.0是不同的两种模式. Swift 1.x代码错误处理模式採用Cocoa框架错误处理模式,到如今Objective-C还沿用这样的处理模式,而Swift2.0之后採用了do-try-catch错误处理模式. 以下的演示样例代码是从文件里读取字符串到内存中,假设使用Swift 1.x错误处理模式代码例如以下: import Foundation var err: NSError? //定义可选…
原创文章,欢迎转载.转载请注明:关东升的博客 继承会发生在子类和父类之间,是一系列类的继承关系. 比如:Person是类层次结构中的根类.Student是Person的直接子类.Worker是Person的直接子类. 这个继承关系类的详细实现代码例如以下: class Person { var name: String var age: Int func description() -> String { return "\(name) 年龄是: \(age)" } conven…
原创文章,欢迎转载.转载请注明:关东升的博客 程序代码中到处都是自定义的名字,取一个有样而且符合规范的名字非常重要. 命名方法非常多,可是比較有名的,广泛接受命名法有: 匈牙利命名,一般仅仅是命名变量,原则是:变量名=类型前缀+描写叙述.如bFoo表示布尔类型变量,pFoo表示指针类型变量. 匈牙利命名还是有一定争议的,在Swift编码规范中几本不採用匈牙利命名. 驼峰命名(Camel-Case).又称骆驼命名法,是指混合使用大写和小写字母来名字.驼峰命名又分为:小驼峰法和大驼峰法. 小驼峰法是…
原创文章,欢迎转载.转载请注明:关东升的博客   MVC(Model-View-Controller,模型-视图-控制器)模式是相当古老的设计模式之中的一个,它最早出如今Smalltalk语言中. 如今,非常多计算机语言和架构都採用了MVC模式. MVC模式概述 MVC模式是一种复合设计模式,由 "观察者"(Observer)模式."策略"(Strategy)模式和"合成"(Composite)模式等组成.MVC模式由3个部分组成,如图所看到的,…
原创文章.欢迎转载.转载请注明:关东升的博客   在使用try进行错误处理的时候,常常会看到try后面跟有问号(? )或感叹号(!),他们有什么差别呢? 1.使用try? try?会将错误转换为可选值,当调用try?+函数或方法语句时候,假设函数或方法抛出错误,程序不会发崩溃,而返回一个nil,假设没有抛出错误则返回可选值. 演示样例代码例如以下: //查询全部数据方法 func findAll() throws -> [Note] { guard listData.count > 0 els…
原创文章.欢迎转载.转载请注明:关东升的博客 下标是一种特殊属性. 子类属性重写是重写属性的getter和setter訪问器,对下标的重写也是重写下标的getter和setter訪问器. 以下看一个演示样例: class DoubleDimensionalArray { let rows: Int, columns: Int var grid: [Int] init(rows: Int, columns: Int) { self.rows = rows self.columns = column…
创文章.欢迎转载.转载请注明:关东升的博客 扩展类型的时候,也能够加入新的构造函数.值类型与引用类型扩展有所差别.值类型包含了除类以外的其它类型.主要是枚举类型和结构体类型. 值类型扩展构造函数 扩展结构体类型中定义构造函数的演示样例: struct Rectangle { var width : Double var height : Double init(width : Double, height : Double) { self.width = width self.height =…
原创文章,欢迎转载.转载请注明:关东升的博客 代码排版包括: 空行.空格.断行和缩进等内容.代码排版内容比較多工作量非常多.可是非常重要. 空行 空行将逻辑相关的代码段分隔开.以提高可读性. 下列情况应该总是加入空行: 类型声明之前. import语句前后. 两个方法或函数之间. 块凝视或单行凝视之前. 方法或函数内的两个逻辑段之间,用以提高可读性. 一个源文件的两个片段之间. 空格 在代码中有些位置是须要有空格的,这个工作量也是非常大的.下列是使用空格的规范: 1.赋值符号"="前后…
原创文章,欢迎转载.转载请注明:关东升的博客 什么是设计模式.设计模式是在特定场景下对特定问题的解决方式.这些解决方式是经过重复论证和測试总结出来的. 实际上.除了软件设计,设计模式也被广泛应用于其它领域.比方UI设计和建筑设计等. 以下来介绍Cocoa Touch框架中的设计模式中的单例模式. 单例模式 单例模式的作用是解决"应用中仅仅有一个实例"的一类问题.在Cocoa Touch框架中,有UIApplication.NSUserDefaults和NSNotificationCen…
原创文章.欢迎转载.转载请注明:关东升的博客 posted @ 2017-07-21 13:23 zhchoutai 阅读(...) 评论(...) 编辑 收藏…
<PHP 5.5从零開始学(视频教学版)>当当网购买地址: http://product.dangdang.com/23586810.html <PHP 5.5从零開始学(视频教学版)>源码.教学视频下载地址: http://pan.baidu.com/s/1zt9hW 内 容 简 介 本书循序渐进地介绍了PHP 5.5开发动态站点的主要知识和技能,提供了大量的PHP应用实例供读者实践.每一章节都清晰讲述了代码作用及其编写思路,使读者能在最短时间内迅速掌握PHP的应用开发技能. 全…
在android中有五种保存数据的方法.各自是: Shared Preferences Store private primitive data in key-value pairs. 相应属性的键值对属性文件存储 Internal Storage Store private data on the device memory. 设备内存存储 External Storage Store public data on the shared external storage. 外部存储器存储,如内…
TabHost主要特点是能够在一个窗体中显示多组标签栏的内容,在Android系统之中每一个标签栏就称为一个Tab.而包括这多个标签栏的容器就将其称为TabHost.TabHost类的继承结构例如以下所看到的: java.lang.Object    ↳ android.view.View      ↳ android.view.ViewGroup        ↳ android.widget.FrameLayout          ↳ android.widget.TabHost  经常用…
先来看两个问题:路线规划与导航有什么差别?步行导航与驾车导航有什么差别? 回答: 1.路线规划,指的是为用户提供3条路线推荐.[高德]在提供路线规划的时候,会提供用户自己定义路线规划功能,这是别家没有做到的.导航.指的是为驾车用户提示路口信息,向左向右.进入匝道等信息. 2.我们这里说的步行导航和驾车导航,严格的说,应该是路线规划.从A地到B地,假设是驾车,路线规划会将公路路网做为搜索数据:假设是步行.过街天桥.地下通道.人行道做为搜索数据. --------------------------…
RelativeLayout相对布局 RelativeLayout是一种相对布局,控件的位置是依照相对位置来计算的,后一个控件在什么位置依赖于前一个控件的基本位置,是布局最经常使用,也是最灵活的一种布局. 我们以下通过XML布局和Java代码布局两种方式分别举例: 一.XML方式布局 1.创建一个空白Activity 2.打开"res/layout/activity_main.xml"文件,改动成下面代码. (1)第①部分 <?xml version="1.0"…
拖动条能够由用户自己进行手工的调节,比如:当用户须要调整播放器音量或者是电影的播放进度时都会使用到拖动条,SeekBar类的定义结构例如以下所看到的: java.lang.Object    ↳ android.view.View      ↳ android.widget.ProgressBar        ↳ android.widget.AbsSeekBar          ↳ android.widget.SeekBar 经常用法 public SeekBar(Context con…
MediaPlayer除了能够对音频播放之外,也能够对视频进行播放,可是假设要播放视频仅仅依靠MediaPlayer还是不够的.还须要编写一个能够用于视频显示的空间,而这块显示空间要求能够高速的进行GUI的更新,并且能够在渲染代码时进行无堵塞的的对GUI进行渲染,而假设要完毕此种功能,则必须依靠android.view.SurfaceView组件完毕.SurfaceView组件封装了一个Surface对象,而不是一个Canvas对象,使用Surface能够完毕对后台线程的控制,对于像视频.3D图…
Java线程:概念与原理 一.操作系统中线程和进程的概念 如今的操作系统是多任务操作系统.多线程是实现多任务的一种方式. 进程是指一个内存中执行的应用程序.每一个进程都有自己独立的一块内存空间.一个进程中能够启动多个线程. 比方在Windows系统中.一个执行的exe就是一个进程. 线程是指进程中的一个执行流程.一个进程中能够执行多个线程.比方java.exe进程中能够执行非常多线程. 线程总是属于某个进程,进程中的多个线程共享进程的内存. "同一时候"运行是人的感觉,在线程之间实际上…
    Xamarin 读 "ˈzæmərin",是一个基于开源项目mono的可以使用C#开发的收费的跨平台(iOS.Android.Windows Phone.Mac)解决方式.     1.原理         Xamarin.iOS:             也就是之前的 MonoTouch(Mono for iOS),使⽤静态编译(Ahead-Of-Time)⽅式将C#代码编译为 ARM⼆进制代码.          Xamarin.Android:             即…
当当网页面:  http://product.dangdang.com/23619990.html 内容简单介绍      本书全面介绍了 JSP开发中涉及的相关技术要点和实战技巧. 全书结构清晰,难度循序渐进,结合丰富的演示样例使零基础的读者可以熟练掌握 JSP的开发.部署以及优化.      本书分为 3篇:第 1篇为 Java Web基础开发,内容包含搭建 Java Web开发环境.JSP基础语法.JSP内置对象.Servlet技术.请求与响应.会话管理.Servlet进阶 API.过滤器…
地图服务.大家能想到哪些?POI搜素,输入提示,地址解析,公交导航,驾车导航,步行导航,道路查询(交叉口),行政区划等等.假设说覆盖物Marker是地图的骨骼,那么服务,就是地图的气血. 有个各种各样的地图服务.我们的地图应用才干变得有血有肉,活灵活现.第四篇拆成了几个要点,本篇主要讲搜索服务.包含周边搜索.关键词搜索.范围搜索.搜索提示(自己主动完毕,输入提示).行政区域.交叉路口.检索自有数据(云图). demo:http://zhaoziang.com/amap/zero_4_1.html…
不管是控件还是插件,都是在一级API接口的基础上,进行二次开发,封装的一系列更加便于开发人员使用.降低开发人员工作量的二级API接口.除了官方通用的鱼骨.鹰眼控件,还有大量官方开发的地图插件,相似谷歌的lib.当然本文还会介绍自己定义插件的使用.    ------------------------------------------------------------------------------------------------- 第一部分 控件 眼下官方支持的控件包括:缩放控制条…