自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(44)
  • 资源 (4)
  • 收藏
  • 关注

原创 Swift销毁(Deinitialization)

在Swift中,也支持ARC机制,也就是内存自动回收机制。在上一篇博文我们将了《Swift初始化(Initialization)》,既然有了初始化的方法,Swift也提供了销毁的通知方法。 deinit只能在引用类型中使用,也就是只能在类中使用。deinit { // perform the deinitialization}下面就用一个例子给大家介绍销毁是怎么工作的。class S

2015-10-31 18:45:23 2841

原创 Swift初始化(Initialization)

实例的初始化是准备一个类、结构体或枚举的实例以便使用的过程。初始化包括设置一个实例存储属性的初始值,以及其他相关设置。一个类、结构体或枚举能定义一个初始化方法来设置它的特性,用来确保它的所有属性都是有效的初始值。通过调用类、结构或枚举提供的初始化方法可以执行实例的初始化过程。 构造初始化类、结构体和枚举的初始化方法所使用到的关键字是init。 初始化初始化结构体下面我们定义一个结构体Size,

2015-10-31 18:28:54 1990

原创 Swift继承(Inheritance)

玩过其他开发语言的小伙伴都知道继承,也就是子类继承父类的特性。这在开发过程中非常有用,可以节省大量工作量。  声明基类下面我们声明一个常见的基类Base,有两个属性(count、description)和一个方法(inherited),其中description是只读的。/// 基类class Base { var count = 0.0 var description: Str

2015-10-30 18:39:39 693

原创 Markdown离线版(MAC)

CSDN的小伙伴基本上都使用过markdown编辑博客,但是有的时候直接在网上编辑不是很方便,我们希望能在电脑上直接编辑。也就是我们通常说的离线版。今天给大家推荐一款好用的离线版Markdown。电脑上的效果图如下所示:下载地址:http://macdown.uranusjr.com

2015-10-30 17:40:37 1271

原创 Swift下标(Subscripts)

在Swift中,类、结构体和枚举都是支持下标语法的。什么是下标语法?使用过数组、字典的朋友都见过array[index]。通过这样的方式可以设置数据和取数,会很方便也很简洁。你可以给一个类定义多个下标,也可以在一个下标中定义一个或多个参数。下标的关键字是subscript,常用格式如下:subscript(index: Int) -> Int { get { // retur

2015-10-30 15:23:18 968

原创 Swift方法(Methods)

方法是与特定类型关联的函数。在类、结构体和枚举中都可以定义方法。方法可以是实例方法,也可以是类型方法。  实例方法实例方法是属于某一特定类、结构体或枚举的函数。它们提供访问和修改实例属性的方法,或者提供与实例相关的功能。实例方法和函数的功能相同,具有完全相同的语法。在实例方法的大括号内,可以访问局部变量和全局变量。实例方法同样也可以调用其他实例方法。局部变量和全局变量class Counter {

2015-10-30 13:44:23 751

原创 Swift属性(Properties)

属性关联特定的类、结构和枚举的值。存储的属性存储常量和变量的值作为实例的一部分。

2015-10-29 15:23:04 1134

原创 Swift类和结构体(Classes and Structures)

在Swift中,类和结构体是通用且灵活的架构,枚举是一组相关的值的集合,并允许你在代码中使用它们。你可以在类和结构体中添加属性和方法,如常量、变量和函数。相对于其他编程语言,当你想创建类和结构体时,需要创建接口文件和实现文件。Swift不需要你创建接口文件和实现文件,如玩过OC的朋友都知道.h和.m文件。在Swift中,当你想创建类和结构体时,只需要创建一个文件。这个类和结构的外部接口可自动给其他代

2015-10-29 11:03:35 638

原创 Swift枚举(Enumerations)

枚举是一组相关的值的集合,并允许你在代码中使用。枚举允许所有的值是相同类型的,也可以是不同类型的,还可以为这些值设置默认值。

2015-10-28 16:53:54 614

原创 Swift闭包(Closures)

闭包是自包含的功能代码块,可以在代码中使用或者用来作为参数传值。 在Swift中的闭包与C、OC中的blocks和其它编程语言(如Python)中的lambdas类似。 闭包可以捕获和存储上下文中定义的的任何常量和变量的引用。这就是所谓的变量和变量的自封闭, 因此命名为”闭包“(“Closures)”)。Swift还会处理所有捕获的引用的内存管理。 全局函数和嵌套函数其实就是特殊的闭包。

2015-10-27 21:56:29 1398

原创 Swift函数

函数是一组特定的代码块,执行特定的任务。当你需要执行一个函数体时,你只需要调用函数的标示名。在Swift中,函数是足够强大和灵活的。你可以传递参数,并且在函数执行完毕时也可以返回数据。参数可以提供默认值,以简化函数的调用。每一个函数都是一个类型,这意味着可以你可以将函数作为参数传递到其他函数内,并返回一个函数。也可以将其他函数封装到一个函数内形成嵌套函数。

2015-10-27 15:41:12 568

原创 Swift控制流

Swift提供了所有大家熟悉的控制流语法,其中包含多重循环的while和for循环;根据一定条件执行不同分支的if、guard和switch语法;以及控制流程转移的break和continue。

2015-10-26 19:36:07 739

原创 Dictionary Programming Guide

在Swift中,Dictationary是管理键值对的对象。在Dictionary中,key是唯一的,value可以是相同的元素,并且Dictionary中的数据是无序的。

2015-10-26 15:47:24 525

原创 Set Programming Guide

在Swift中,Set是管理无序集合的对象。当你不关心集合中元素的顺序,只关心每个元素在整个集合中是唯一的时候,你可以使用Set。Set的内部结构图如下所示:初始化// MARK: 初始化private func testInit() { // 空Set var set = Set<String>() set = [] // 通过参数创建 set = Set

2015-10-26 13:33:39 537

原创 Array Programming Guide

Array是Swift针对有序集合的操作类。你可以随机访问Array任何位置上的元素,在Array中你还可以存储相同的元素在不同的位置。本文介绍了在编辑过程中关于Array的常用操作,其结构如下所示。初始化// MARK: 初始化private func testCreating() { // 空数组 var array = [Int]() array = [] a

2015-10-24 17:29:03 603

原创 OSX系统有道词典无法屏幕取词

升级OSX系统后,有道词典无法使用

2015-10-24 10:31:48 1840

原创 String Programming Guide

String是一系列char数据的集合,如”hello, world”或”albatross”。它是苹果公司针对Swift语言编写的管理字符串的对象。String以优雅的方式结合了NSString和NSMutableString的优点,并简化了接口的使用。本文介绍了关于String日常开发过程中的一系列方法,供大家查阅。

2015-10-23 16:04:09 775

原创 计算NSString界面展示所需的高和宽

#pragma mark 根据宽度和字体大小计算所需的显示高度#pragma mark 根据高度和字体大小计算所需的显示宽度

2015-10-21 15:50:19 549

原创 NSMutableSet Class Reference

NSMutableSet是NSSet的子类,在NSSet的基础上声明了管理可变无序集合的接口。 关于NSSet的编程介绍详见《NSSet Class Reference》初始化+ setWithCapacity: - initWithCapacity:#pragma mark 初始化- (void)testCreating { // 创建可变集合,并设置

2015-10-21 14:34:24 504

原创 NSSet Class Reference

NSSet和NSMutableSet是管理无序集合的对象。NSSet管理不可变集合,NSMutableSet管理可变集合。通过NSSet创建的集合,当它被创建时,就代表这个集合内的数据是不可改变的。         当你不关心集合中元素的顺序,只关心每个元素在整个集合中是唯一的时候,你可以使用NSSet或NSMutableSet。         NSSet内部结构图如下所示: 创建Set+

2015-10-21 13:47:38 790

原创 NSMutableString Class Reference

NSMutableString是NSString的子类,它提供了一系列可变字符串的接口。当你想使用一个可变字符串对象时,就需要使用NSMutableString。 关于NSString的编程介绍详见《NSString Class Reference》初始化+ stringWithCapacity: - initWithCapacity:#pragma mark 初始

2015-10-21 10:33:49 545

原创 NSString Class Reference

NSString声明了一系列不可变字符串的接口,当通过NSString创建一个字符串时,就代表这个字符串对象是不可变的。当你想使用可变字符串时,可以使用NSMutableString。         NSString实现了两个通用的方法length和characterAtIndex:。length可以获得字符串的长度;characterAtIndex:可以通过索引获得字符串中指定位置的字符,其

2015-10-20 22:23:39 997

原创 NSDateComponents Class Reference

NSDateComponents是NSCalendar的辅助工具类,当你使用NSCalendar提取NSDate的小时数九需要它。 关于NSDate的编程介绍,详见《NSDate Class Reference》 关于NSCalendar的编程介绍详见《 NSCalendar Class Reference》获取时间属性date Property calendar Property

2015-10-19 13:39:53 964

原创 NSCalendar Class Reference

NSCalendar封装了关于日期的开始,长度、推算日期以及获取时间系统的信息等接口,还提供了日历的计算。本博文针对NSCalendar的API做了一系列详细的编程介绍。 在NSCalendar中,天、周、日、月和年都是从1开始的。 如果想了解关于NSDate的编程介绍,详见我的另一篇博文《NSDate Class Reference》系统语言环境+ currentCalendar +

2015-10-17 17:14:43 3136

原创 NSDateFormatter Class Reference

NSDateFormatter可以理解为NSDate的辅助类,主要用于将NSDate格式化输出NSString和通过NSString生成NSDate。你可以使用dateFormat自定义输出样式,也可以通过配置dateStyle, timeStyle来输出系统自带的样式,还可以修改这些自带的样式。 关于NSDate的相关介绍详见我的另一篇博文《NSDate Class Reference》;

2015-10-16 10:16:50 1037

原创 NSDate Class Reference

NSDate对象是IOS中处理日期的对象,它代表一个单一的时间点,也意味着它是不可变得。本文介绍了关于NSDate的一系列接口编程。 格式化日期输出字符串需要使用到的方法是dateFromString: 和stringFromDate:初始化+ date + dateWithTimeIntervalSinceNow: + dateWithTimeInterval:sinceDate: +

2015-10-15 16:50:58 508

原创 NSMutableArray Class Reference

NSMutableArray是NSArray的子类,在NSArray的基础上扩展了一系列接口,使不可变得NSArray数组成为可变的NSMutableArray数组。 关于NSArray的介绍详见我的另一篇博文NSArray Class Reference初始化+ arrayWithCapacity: + arrayWithContentsOfFile: + arrayWithConten

2015-10-15 11:51:37 542

原创 NSArray Class Reference

NSArray和其子类NSMutableArray管理有序数组集合。NSArray是静态数组,NSMutableArray是动态数组。当你需要一个有序的对象集合时,你可以使用数组。内部结构图:  创建数组+ array + arrayWithArray: + arrayWithContentsOfFile: + arrayWithContentsOfURL: + arrayWithOb

2015-10-14 17:37:52 668

原创 NSMutableDictionary Class Reference

NSMutableDictionary是NSDictionary的子类,它支持NSDictionary的一系列方法,并在此基础上可以对字典中的内容做增加和删除操作。

2015-10-14 11:57:04 896

原创 NSDictionary Class Reference

当你需要检索和管理以键值对形式存在的数据,可以使用NSDictionary和其子类NSMutableDictionary 声明的对象管理。         在字典中称每一个键-值对为一个记录,每一个记录都是由一个key和一个对象组成。在字典中,key是独一无二的,也就是说,在一个字典中不会存在同样的key,但是key所对应的对象可以是同样的。key可以是任何类型的数据(只要它实现NSCopying

2015-10-13 22:52:09 890

原创 NSFileManager Class Reference

NSFileManager是IOS的文件管理器,它可以帮助你获取IOS系统中文件的内容或对其修改。你可以使用它来定位、创建、复制、移动文件和目录,你还可以使用它来获取或修改有关文件和目录的相关信息。        NSFileManager是一个共享的文件管理器对象。如果你想以交互的方式监听文件的相关操作,你可以创建一个自己的实例,并为它指定一个代理。        你可以使用NSURL和NSStr

2015-10-13 10:58:29 1340

原创 AOP

在软件业,AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。 AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效

2015-10-10 17:45:16 414

原创 MVVM框架

MVVM是Model-View-ViewModel的简写。 微软的WPF带来了新的技术体验,如Silverlight、音频、视频、3D、动画……,这导致了软件UI层更加细节化、可定制化。同时,在技术层面,WPF也带来了 诸如Binding、Dependency Property、Routed Events、Command、DataTemplate、ControlTemplate等新特性。MVVM(

2015-10-10 17:25:14 867

原创 MVP框架

MVP的全称为Model-View-Presenter,Model提供数据,View负责显示,Controller/Presenter负责逻辑的处理。 MVP与MVC有着一个重大的区别:在MVP中View并不直接使用Model,它们之间的通信是通过Presenter (MVC中的Controller)来进行的,所有的交互都发生在Presenter内部,而在MVC中View会直接从Model中读取数

2015-10-10 16:51:10 928

原创 MVC框架

MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。 MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。  简介

2015-10-10 16:31:34 1061

原创 键值监听KVO

在IOS中都有一种双向绑定机制,如果数据模型修改了之后会立即反映到UI视图上,它叫做Key Value Observing(简称KVO)。KVO其实是一种观察者模式,利用它可以很容易实现视图组件和数据模型的分离,当数据模型的属性值改变之后作为监听器的视图组件就会被激发,激发时就会回调监听器自身。 在ObjC中要实现KVO则必须实现NSKeyValueObServing协议,不过幸运的是NSObj

2015-10-10 15:02:02 693

原创 键值编码KVC

许多编程技术都基于间接机制,包括整个面向对象编程领域。本章将介绍另一种间接机制,这种机制不属于Obj-C语言的特性,而是Cocoa提供的一种特性。我们知道在C#中可以通过反射读写一个对象的属性,有时候这种方式特别方便,因为你可以利用字符串的方式去动态控制一个对象。其实由于ObjC的语言特性,你根本不必进行任何操作就可以进行属性的动态读写,这种方式就是Key Value Coding(简称KVC)。

2015-10-10 13:48:05 752

原创 个人简历

个人简历

2015-10-10 10:54:54 2735 1

原创 JSON解析

使用NSJSONSerialization解析JSON

2015-10-09 17:14:00 1834

原创 NSXMLParser

使用NSXMLParser解析XML数据

2015-10-09 16:06:15 769

MachOView最新版

iOS的可执行文件,包括动态库、静态库、app,都是MachO文件结构。该工具可以方便地查看其内容,MachO header、Load commands等

2019-03-05

苹果手机应用信息抓取

本源代码能够抓取用户手机安装的所有应用,包含应用标示、应用的appleID、应用版本号和上次打开应用的时间等。 本人博客:http://blog.csdn.net/y550918116j

2015-09-30

Objective-C Runtime测试代码

Objective-C语言的许多决策可以在编译和运行时执行。只要有可能,它是动态的。这意味着Objective-C语言不仅需要一个编译器,还需要一个运行时系统来执行编译的代码。Runtime系统是一种用于Objective-C语言的操作系统,它使OC语言工作起来。   Runtime的核心是在运行时动态操作类和消息分发给其他对象,本源代码详细介绍了怎么使用它们。 博客:http://blog.csdn.net/y550918116j

2015-09-23

23设计模式源代码-Swift

我希望源代码的阅读者具备最基本的代码编写能力,您是一个初级的 coder,可以从中领会到怎么设计一段优秀的代码;您是一个高级程序员,可以从中全面了解到设计模式以及 Swift的边角技术的使用;您是一个顶级的系统分析师,可以从中获得共鸣,寻找到项目公共问题的解决办法,呀,是不是把牛吹大了?! 我的博客:http://blog.csdn.net/y550918116j

2015-09-20

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除