自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

wangxiaobupt的专栏

书写是为了更好的思考

  • 博客(274)
  • 资源 (2)
  • 收藏
  • 关注

原创 使用npm批量、快速删除没有用的fork-repos

1.获得一个github账号的token ,勾选public_repo,delete_repo选项2.安装npm包npm install --global remove-github-forks3.运行$ remove-github-forks token? Will delete: user/repo, user/repo2

2016-09-29 17:06:26 1813

转载 iOS使用自定义字体

转自 http://blog.csdn.net/heartofthesea/article/details/222893991.将准备好的字体文件加入项目中2.打开Build Phases—Copy Bundle Resources,确保刚添加的字体文件在列表中,否则需要手动加到这里3.编辑”项目名-Info.plist”文件(1)addRow—Fonts

2016-03-17 13:16:38 879

原创 MAC中如何使用方向键连续的看图片

选中图片后点一下空格之后就可以用方向键换图片了.......就这么简单粗暴。

2015-11-07 17:26:08 4216

原创 MAC使用PC键盘

1.首先连上PC键盘,此时MAC会弹出对话框,按照要求确认键盘上shift左边和右边的值(一般为‘z’和‘/’)2.选择键盘类型,一般为ANSI,此时已经设置完成。但是这和平时使用的MAC键盘位置不对,MAC键盘是control、option/alt、command。PC键盘一般是control、win、alt。其中的win键就是MAC的command键,如果将win键

2015-11-06 20:08:21 6294 1

原创 Reveal简单使用

下载地址http://revealapp.com集成到项目中点击iOS Library,将Reveal.framework加入工程。在工程设置中,在Other Linker Flags项增加-ObjC -framework Reveal运行模拟器或真机后,用reveal连上模拟器或真机。

2015-11-06 15:07:51 729

转载 ReactiveCocoa的常见用法和常用宏

原文常见用法 // 1.代替代理 // 需求:自定义redView,监听红色view中按钮点击 // 之前都是需要通过代理监听,给红色View添加一个代理属性,点击按钮的时候,通知代理做事情 // rac_signalForSelector:把调用某个对象的方法的信息转换成信号,就要调用这个方法,就会发送信号。 // 这里表示只

2015-10-31 15:05:24 1985

原创 pch文件的创建与设置

创建设置注:在Prefix Header设置的相对路径

2015-10-25 10:16:35 715

转载 GCD使用经验与技巧浅谈

前言GCD(Grand Central Dispatch)可以说是Mac、iOS开发中的一大“利器”,本文就总结一些有关使用GCD的经验与技巧。dispatch_once_t必须是全局或static变量这一条算是“老生常谈”了,但我认为还是有必要强调一次,毕竟非全局或非static的dispatch_once_t变量在使用时会导致非常不好排查的bug,正确的如下:

2015-08-11 14:33:48 694

原创 App Transport Security has blocked a cleartext HTTP 解决办法

原因:在iOS9 beta中,苹果将原http协议改成了https协议,使用 TLS1.2 SSL加密请求数据。解决办法:在info.plist 加入keyNSAppTransportSecurityNSAllowsArbitraryLoads

2015-08-09 14:30:34 988

原创 swift实现单例模式

单例模式单例模式有三个要点:1.只有一个实例2.构造函数要私有3.构造过程线程安全实现class MyClass { static let sharedInstance = MyClass() var title = "" private init() { }}swift的static构造过程中使用了dispatch_onc

2015-08-08 19:32:01 679

转载 Grand Central Dispatch 基础教程:Part 2/2

欢迎来到Grand Central Dispatch系列教程的第二部分!在教程的第一部分,你学到了一些关于并发,线程及GCD工作原理的知识。你通过并用dispatch_barrier_async与dispatch_sync保证了PhotoManager单例在读取与写入照片过程中的线性安全性。值得一提的是,你不仅通过dispatch_after及时地向用户发出提醒以此优化了App的UX而且还

2015-08-08 18:09:05 566

转载 Grand Central Dispatch 基础教程:Part 1/2

尽管Grand Central Dispatch(以下简称为GCD)已推出一段时间了,但并不是所有人都明白其原理;当然这是可以理解的,毕竟程序的并发机制很繁琐,而且基于C的GCD的API对于Swift的新世界并不是特别友好。在接下来的两节教程中,你将学习GCD的输入 (in)与输出 (out)。第一节将解释什么是GCD并了解几个GCD的基础函数。在第二节,你将学习几个更加进阶的GCD函数。

2015-08-08 18:07:13 613

原创 swift2 泛型

泛型函数func swapTwoValues(inout a: T, inout b: T) { let temporaryA = a a = b b = temporaryA}var someInt = 3var anotherInt = 107swapTwoValues(&someInt, b: &anotherInt)print(someInt)

2015-08-01 21:32:54 578

原创 swift2 运算符函数

运算符函数struct Vector2D { var x = 0.0, y = 0.0}func + (left: Vector2D, right: Vector2D) -> Vector2D { return Vector2D(x: left.x + right.x, y: left.y + right.y)}let vector = Vector2D(x:

2015-07-28 21:16:15 664

原创 swift2 析构过程

Swift 会自动释放不再需要的实例以释放资源。Swift 通过自动引用计数(ARC)处理实例的内存管理。通常当你的实例被释放时不需要手动地去清理。但是,当使用自己的资源时,你可能需要进行一些额外的清理。例如,如果创建了一个自定义的类来打开一个文件,并写入一些数据,你可能需要在类实例被释放之前关闭该文件。在类的定义中,每个类最多只能有一个析构函数。析构函数不带任何参数,在写法上

2015-07-27 11:47:04 614

原创 swift2 构造过程

存储属性的初始赋值类和结构体在实例创建时,必须为所有存储型属性设置合适的初始值。存储型属性的值不能处于一个未知的状态。你可以在构造器中为存储型属性赋初值,也可以在定义属性时为其设置默认值。注:当你为存储型属性设置默认值或者在构造器中为其赋值时,它们的值是被直接设置的,不会触发任何属性观测器构造器struct Fahrenheit {

2015-07-27 11:35:30 625

原创 手势识别的简单使用

UISwipeGestureRecognizerimport UIKitclass ViewController: UIViewController { var swipeRecognizer: UISwipeGestureRecognizer! required init?(coder aDecoder: NSCoder) { super.init(c

2015-07-25 12:49:59 1543

原创 初探GCD

UI相关ui相关的任务需要使用主线程来运行。主线程只能异步执行,同步则会发生死锁。import UIKitclass ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() dispatch_async(dispatc

2015-07-25 11:40:01 844

原创 swift2 扩展

扩展就是向一个已有的类、结构体或枚举类型添加新功能。这包括在没有权限获取原始源代码的情况下扩展类型的能力。Swift 中的扩展可以:1.添加计算型属性和计算静态属性2.定义实例方法和类型方法3.提供新的构造器4.定义下标5.定义和使用新的嵌套类型6.使一个已有类型符合某个协议计算型属性extension Double { va

2015-07-24 22:11:30 549

原创 UICollectionView的简单使用

显示简单的UICollectionViewimport UIKitclass ViewController: UICollectionViewController { let allSectionColors = [ UIColor.redColor(), UIColor.greenColor(), UIColor.blueColor()]

2015-07-24 12:23:25 904

原创 UITableView的简单使用

显示简单的UITableViewimport UIKitclass ViewController: UIViewController, UITableViewDataSource { var tableView: UITableView? override func viewDidLoad() { super.viewDidLoad() tabl

2015-07-24 11:33:45 853

原创 UISegmentedControl和UIPickerView

UISegmentedControl显示简单的UISegmentedControlimport UIKitclass ViewController: UIViewController { var segmentedControl:UISegmentedControl! override func viewDidLoad() { super.vie

2015-07-24 10:11:53 650

原创 UIActivityViewController

实现简单的分享功能import UIKitclass ViewController: UIViewController, UITextFieldDelegate { var textField:UITextField! var buttonShare:UIButton! var activityViewController:UIActivityViewContro

2015-07-24 09:33:15 593

原创 UIProgressView和UISlider

UIProgressView显示一个UIProgressViewimport UIKitclass ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() let progres

2015-07-24 09:06:41 1494

原创 UITextField和UITextView

基本功能import UIKitclass ViewController: UIViewController { var textField: UITextField! override func viewDidLoad() { super.viewDidLoad() textField = UITextField(frame: CGR

2015-07-23 22:15:19 627

原创 UISwitch和UIDatePicker

UISwitch基本使用import UIKitclass ViewController: UIViewController { var mainSwitch:UISwitch! func switchIsChanged(sender: UISwitch){ print("Sender is = \(sender)") if

2015-07-23 20:03:59 679

原创 UIWebView和WebKit

loadHTMLStringimport UIKitclass ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() let webView = UIWebView(frame: view.bounds) let htmlString

2015-07-23 18:23:11 1283

原创 几种常用的UIViewContentMode

.ScaleToFill会变形使得填充所有空间,效果如下:import UIKitclass ViewController: UIViewController { let image = UIImage(named: "Safari") var imageView: UIImageView! override func viewDidLoad() {

2015-07-23 12:39:44 794

原创 添加简单的模糊效果

定义你想添加的模糊效果,选择类型let blurEffect = UIBlurEffect(style: .Light)以此模糊类型创建子viewlet blurView = UIVisualEffectView(effect: blurEffect)确定子view的位置和大小blurView.frame.size = CGSize(width: 200, h

2015-07-23 11:08:50 568

原创 安装Alcatraz插件管理

终端中执行curl -fsSL https://raw.github.com/supermarin/Alcatraz/master/Scripts/install.sh | sh安装后显示如下:重启Xcode,点击Package Manager可以自由的管理xcode插件了。

2015-07-22 16:19:45 570

原创 swift2 类型转换

class MediaItem { var name: String init(name: String) { self.name = name }}class Movie: MediaItem { var director: String init(name: String, director: String) { se

2015-07-21 21:17:55 592

原创 swift2 自动引用计数

原理class Person { let name: String init(name: String) { self.name = name print("\(name) is being initialized") } deinit { print("\(name) is being deinitial

2015-07-21 20:39:02 456

原创 swift2 继承

定义基类class Vehicle { var currentSpeed = 0.0 var description: String { return "traveling at \(currentSpeed) miles per hour" } func makeNoise() { // 什么也不做-因为车辆不一定会有噪

2015-07-19 15:13:45 523

原创 swift2 Subscripts

下标脚本语法subscript(index: Int) -> Int { get { // 返回与入参匹配的Int类型的值 } set(newValue) { // 执行赋值操作 }}实例如下:struct TimesTable { let multiplier: Int subscri

2015-07-19 14:53:15 469

原创 swift2 方法

实例方法class Counter { var count = 0 func increment() { count++ } func incrementBy(amount: Int) { count += amount } func reset() { count = 0 }}

2015-07-19 13:28:53 576

原创 swift2 属性

存储属性struct FixedLengthRange { var firstValue: Int let length : Int}var rangeOfThreeItems = FixedLengthRange(firstValue: 0,length :3)// 该区间表示整数0,1,2rangeOfThreeItems.firstValue = 6//

2015-07-19 11:31:11 480

原创 LeetCode 231 Power of Two

题目分析题目要求为判断一个数是否为2的幂。一种基本的方法就是不断的对2取余直到该数变为1,如果所有的取余结果都为0,则为2的幂。比较简单的方法:2的幂用2进制表示只有一个1,比如16= 2^4 用2进制表示则为 10000,那么它减一则为 01111这两个数取按位与操作一定为0题解解

2015-07-18 23:06:28 542

原创 LeetCode 237 Delete Node in a Linked List

题目分析题目的意思很简单,给你一个链表,给你一个节点(不是尾结点)让你反悔除了这个节点之外的链表。题解起初我是这样想的,把下一个的值赋给当前的值,不断移动当前的位置,那么最后一个值就是不需要的。那么倒数第二个节点 node -> next = NULL; 即可/** * Definit

2015-07-18 22:31:47 554

原创 swift2 类和结构体

定义struct Resolution { var width = 0 var height = 0}class VideoMode { var resolution = Resolution() var interlaced = false var frameRate = 0.0 var name: String?}let s

2015-07-18 22:07:07 615

原创 swift2 枚举类型

枚举语法enum CompassPoint { case North case South case East case West}var directionToHead = CompassPoint.WestdirectionToHead = .SouthdirectionToHead的类型被推断当它被CompassPoint的一个可能值初始

2015-07-18 21:35:33 605

空空如也

空空如也

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

TA关注的人

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