自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(66)
  • 收藏
  • 关注

原创 Application lifecycle

每一个应用都会经历这几个阶段。在每个阶段完成或者过渡的时候,会调用Appdelegate中的方法。例如,进入Background的时候会调用fun applicationDidEnterBackground(UIApplication)

2016-01-12 20:33:39 557

转载 Swift中的Lazy与计算属性

一般来说,Swift中lazy定义计算属性的写法像下面这样,类似闭包的语法12345lazy var players: [String] = {    var temporaryPlayers = [String]()    temporaryPlayers.append("John Doe")    return temporaryPlayers}() 或者实例方法

2016-01-09 19:23:02 553

原创 Swift之extension

extension 可以为已有的类添加新的属性供调用。如下为UIColor属性添加新的属性random产生随机的颜色private extension UIColor{ class var random: UIColor{ switch arc4random()%5 { case 0: return UIColor.greenColor()

2016-01-09 19:03:30 298

原创 TableView Segues

2016-01-06 20:07:55 241

原创 UITableView加载数据

2016-01-06 20:01:55 295

原创 创建UITableViewCell

下图中的代码在UITableViewController中呈现。因为UITableViewController是UITableView的delegate。所以,在UITableViewController中调用func tableView(tv: , cellForRowAtIndexPath indexPath: ) -> UITableViewCell时。UITableView中会执行这个函数

2016-01-06 10:47:19 268

原创 UITableView和UITableViewCell的关系

UITableViewCell是UITableView的子类,只是比较特殊的UITableView。

2016-01-06 10:28:22 340

原创 UITableViewController值得注意的基本概念

UITableViewController:1. 实际上是一个包含了UITableView的ViewController。2. UITableViewController是UITableView的delegate和Datasource,如下图3. 每次新建一个UITableViewController,Xcode会自动将UITableViewController设置为UITab

2016-01-06 10:14:19 229

原创 Swift之多线程

let qos = Int(QOS_CLASS_USER_INITIATED.rawValue) dispatch_async(dispatch_get_global_queue(qos, 0)) { () -> Void in ......//这一句不是在mainqueue执行

2016-01-05 20:17:59 261

原创 viewWillLayoutSubviews()、viewDidLayoutSubviews()、AutoLayout执行顺序

首先执行viewWillLayoutSubviews(),然后是AutoLayout,再是viewDidLayoutSubviews()。

2016-01-01 13:08:27 2832

原创 viewDidLoad()注意事项

当ViewController加载完毕后,会调用viewDidLoad()函数。往往我们把各种初始化操作放在这个函数中,  override func viewDidLoad() { super.viewDidLoad() //draw() //Hello() //BarChart() LineChart()

2016-01-01 12:59:02 728

转载 Swift中fallthrough的使用

转自: http://blog.sina.com.cn/s/blog_6d01cce30101noxx.htmlSwift中除了支持C中的continue,break,return,另外一种跳转关键字:fallthrough,它提供了语句跳转的一种方式例子:        let integerToDescribe = 1        var description

2015-12-29 13:43:18 414

原创 swift添加手势操作

// HappinessViewController.swift// Happiness//// Created by longrain on 15/12/16.// Copyright © 2015年 longrain. All rights reserved.////import Cocoaimport UIKitclass HappinessViewControl

2015-12-29 13:11:43 1249

原创 Swift之从xls文件读取数据

研究了半天,并没有研究出来如何在swift中读取xls格式的数据,故只能复制粘贴到txt文档中。数据源如下它横排由/t分割,竖行之间由/r分割,最后实现如下,详情见注释 func readfile() -> ([Double],[Double])// 从Source File 读取txt数据 多列 { var datax = [Double

2015-12-27 13:42:36 1893

原创 Swift字符串分割——多重分隔符

//多重分割符:有2个或两个以上分隔符var myString2 = "One-Two-Three-1 2 3"var array2:String[] = myString2.componentsSeparatedByCharactersInSet(NSCharacterSet (charactersInString: "- "))//["One", "Two", "Three", "1"

2015-12-27 12:57:31 1092

原创 Swift读取txt格式的数据并转换成Double格式

折腾了半天,搞定了从txt文档读取数据,并转换成了Double格式 func readfile() -> [Double]// 从Source File 读取txt数据 { var data = [Double]() if let txtFile = NSBundle.mainBundle().pathForResource("UIKitDynam

2015-12-27 12:43:54 1960

原创 Swift字符串分割

// 演示按空格分割//单一分隔符:只有一种分割符var myString = "Berlin Paris New York San Francisco"//1.隐式定义字符串数组var myArray = myString.componentsSeparatedByString(" ")//2.显示定义字符串数组var myArray2 : [String] = myString.

2015-12-27 12:30:38 601

原创 Swift中String和UTF8编码的NSData相互转化

let testStr = "212 212"let testData = testStr.dataUsingEncoding(NSUTF8StringEncoding) // String转UTF8let dogString:String = (NSString(data: testData!, encoding: NSUTF8StringEncoding))! as String //

2015-12-27 12:28:35 10136

转载 swift中的协议

转自:http://blog.csdn.net/xn4545945/article/details/39800061Swift中的协议能被类, 枚举,结构体实现.[java] view plaincopyprotocol SomeProtocol{      //协议内容  }    class SomeClass : Som

2015-12-26 19:59:47 236

转载 swift之mutating关键字

原文:http://blog.csdn.net/tounaobun/article/details/39694233?utm_source=tuicool&utm_medium=referral在swift中,包含三种类型(type): structure,enumeration,class其中structure和enumeration是值类型(value type),clas

2015-12-26 18:10:41 242

转载 weak的使用

转自:http://www.jianshu.com/p/e30fd63c8e0f什么是循环引用Swift 是自动管理内存的,这也就是说,我们不再需要操心内存的申请和分配。当我们通过初始化创建一个对象时,Swift 会替我们管理和分配内存。而释放的原则遵循了自动引用计数 (ARC) 的规则:当一个对象没有引用的时候,其内存将会被自动回收。这套机制从很大程度上简化了我们

2015-12-26 17:04:06 344

原创 Swift ?? 符号的使用

??左边为nil的时候,取右边。import Foundationvar x: Double?var y: Double?x = 1.2let xx = x ?? 0.0let yy = y ?? 0.0print(xx)print(yy)// 输出1.20.0

2015-12-25 13:58:03 833

转载 Swift中的required修饰符

普通子类通常情况下,一说到required修饰符,我们最先想到的应该就是普通类(class)的init()方法了。比如下面这个类:class MyClass { var str:String init(str:String) { self.str = str }}当我们定义一个MyClass的子类(subclass)并实例化这个子类

2015-12-25 13:25:25 260

转载 Swift中的willSet与didSet

转自:http://www.cnblogs.com/zhouyinhui/p/3804195.html在Swift语言中用了willSet和didSet这两个特性来监视属性的除初始化之外的属性值变化无需说太多,看看下面的代码你就能很快明白的import Foundationclass People : NSObject{ //普通属性 var firstNa

2015-12-25 11:05:10 243

原创 Xcode实时渲染——@IBDesignable

在定义的参数前,添加IBDesignable,图片attributes inspector中就会出现相应的设置项,很方便于调试import UIKit@IBDesignableclass FaceView: UIView { @IBInspectable var lineWidth: CGFloat = 3 {didSet{setNeedsDisplay()}

2015-12-24 13:57:37 264

原创 Xcode实时渲染——@IBDesignable

当应用到 UIView 或 NSView 子类中的时候,@IBDesignable 让 Interface Builder 知道它应该在画布上直接渲染视图。你会看到你的自定义视图在每次更改后不必编译并运行你的应用程序就会显示。其中IBDesignable中的IB是 Interface Builder 的缩写。标记一个自定义视图为 IBDesignable,只需在类名前加上 

2015-12-24 13:47:58 336

原创 插件XAlign的使用

原本: func Hello(){ var StrongXname = UILabel(frame: CGRectMake(50,100,300,20))//Returns a rectangle with the specified coordinate and size values. StrongXname.text = "哈咯,大家好,我叫Stro

2015-12-16 22:23:24 534

原创 插件VVDocumenter的使用

按三下/,出现整齐的注释 /** content */

2015-12-16 22:20:43 244

转载 升级Xcode7之后VVDocumenter-Xcode不能用的解决办法

升级Xcode7.2后,发现VVDocumenter插件不能用了。解决,升级Xcode 7 后发现原来的VVDocumenter原因 : 苹果要求加入UUID证书从而保证插件的稳定性。因此Xcode版本更新之后需要在VVDocumenter-Xcode的Info.plist文件中添加Xcode的UUID。不能用了经过一番查询解决办法如下在[终端]执行 defaults re

2015-12-16 22:02:31 337

原创 XCode 7.2 下安装Alcatraz

费了九牛二虎之力,终于搞定,步骤如下:1. 退出Xcode。2. Terminal中。rm -rf ~/Library/Application\ Support/Developer/Shared/Xcode/Plug-ins/Alcatraz.xcpluginrm -rf ~/Library/Application\ Support/Alcatraz/cur

2015-12-16 16:11:20 436 1

原创 Swift中的断言assert

import Foundationvar str = "Hello!"assert(str != "Hello!" , "SB" )// str不等于Hello时,输出SB// print assertion failed: SB: file /Users/....方便调试

2015-12-10 19:44:38 271

原创 Swift中的AnyObject和as

当需要在工作中使用 Cocoa APIs,它一般接收一个AnyObject[]类型的数组,或者说“一个任何对象类型的数组”。这是因为 Objective-C 没有明确的类型化数组。但是,你常常可以确定包含在仅从你知道的 API 信息提供的这样一个数组中的对象的类型。在这些情况下,你可以使用强制形式的类型检查(as)来下转在数组中的每一项到比 AnyObject 更明确的类型,不需要可选解析

2015-12-10 18:59:59 252

原创 Swift method的internalname和externalname

import Foundationfunc foo(externalname internalname: Int) -> Int{ let local = internalname return local + 1} let result = foo(externalname: 123) print("\(result)")// 40

2015-12-09 14:01:31 479

原创 Swift中的NSNumber

import Foundation// Swift是强类型语言,NSNumber是OC时代的遗存let n = NSNumber(double: 35.5)let intversion = n.intValuelet doubleversion = n.doubleValuelet boolversion = n.boolValueprint(intversion)print(

2015-12-09 13:37:26 2485

原创 Swift中的Range<Int>类型

import Foundationvar range: Range = Range(start: 0, end: 5)var range1 = 0...5var range2 = 0..<5print(range)print(range1)print(range2)//打印结果//0..<5//0..<6//0..<5//Range只用于Int//var range

2015-12-09 13:27:49 1132

原创 Swift中的元组(turple)

元组是多个值组成的复合值类型import Foundationlet money = (100,"EUR")let currency = money.1let amout = money.0print("I have \(amout) \(currency) ") //I have 100 EURlet money2 = (amout: 100,currency: "EUR

2015-12-08 00:16:49 461

原创 Swift中使用do-catch语句进行异常处理

do { try functionWillThrowError() } catch { // deal with error }

2015-12-07 13:20:59 2655

转载 理解iOS中的MVC设计模式

转自:http://liuzhichao.com/p/1379.html模型-视图-控制器(Model-View-Controller,MVC)是Xerox PARC在20世纪80年代为编程语言Smalltalk-80发明的一种软件设计模式,至今已广泛应用于用户交互应用程序中。在iOS开发中MVC的机制被使用的淋漓尽致,充分理解iOS的MVC模式,有助于我们程序的组织合理性。

2015-12-06 16:30:31 361

原创 Optional变量的?和!的区别

我们定义一个optional变量时,往往在后面加个?。然后在对它进行解析时,加个!号解析。但是, @IBOutlet weak var display: UILabel!在定义Outlet变量时,我们定义的时候就加了感叹号。这是因为,为了方便起见,为outlet变量开了后门。如果定义的时候加?号,那么每次解析的时候都要再加!,未免麻烦。所以,当我们如上面代码那样定义时,调用这个

2015-12-05 22:04:42 315

原创 再谈继承

之前写过继承,但实际看教程的时候还是被各种长串的代码蒙蔽。今天看stanford白胡子的教程,才知道。class ViewController: UIViewController { }其实,这就是继承,意思是,新建一个ViewController,它继承自UIViewController。

2015-12-05 18:53:56 228

空空如也

空空如也

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

TA关注的人

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