自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 如何解压deb文件

有两种方法:Bash代码1、dpkg-xxx.deb/tmp/oo注意:/tmp/oo为自己解压文件路径,可以随意指定路径2、ar-vxxx.deb这会解压出3个文件debian-binary,control.tar.gz,data.tar.gz然后再:tar-xzvfdata.tar.gz 转载于:https://www.cnblogs.co...

2018-08-19 17:47:00 805

转载 mongdb启动问题

问题:Detected unclean shutdown - /data/db/mongod.lock is not empty.old lock file:/data/db/mongod.lock. probably means unclean shutdown.解决办法:第一步:删除lock file: rm -rf /data/db/mongod.lock第二步:运...

2015-12-17 16:48:00 236

转载 Homebrew简介及安装

Homebrew官网http://brew.sh/index_zh-cn.htmlHomebrew是神马linux系统有个让人蛋疼的通病,软件包依赖,好在当前主流的两大发行版本都自带了解决方案,Red hat有yum,Ubuntu有apt-get神马,你用mac os,不好意Mac os木有类似的东东,泪奔中几经折腾总算找到了第三方支持:Homebrew,Homebr...

2015-12-07 20:23:00 174

转载 Mac环境下安装node.js、npm、express

一:node.js安转方法一:下载node.js for Mac地址:http://nodejs.org/download/ 直接下载 pkg的,双击安装,一路点next,很容易就搞定了。安装完会提醒注意node和npm的路径是 /usr/local/bin。方法二:用Homebrew安装1.安装HomebrewHom...

2015-12-07 20:17:00 202

转载 NPM 在MacOSX中的使用技巧

经常看到有人说『为啥npm install 的时候报错,显示EACCESS错误…』,之前大家都是sudo大法解决问题,也没太在意。至于这个问题是brew安装工具的时候造成的,还是系统修改磁盘权限造成的,还是安装各种小工具的时候造成的不得而知…(这个实在懒得追究了)最近在搞generator的时候,如果不想把一些文件包含在generator中,那么会调用npm install,所以...

2015-12-07 19:46:00 99

转载 Xcode 中的main.m

在几乎所有的程序开发中程序一般都是从main函数开始运行的,那么IOS程序也不例外,在上图中我们可以看到Xcode为我们生成了一个main.m文件://// main.m// iOS//// Created by luoyin on 15/5/22.// Copyright (c) 2015年 luoyin. All rights reserved....

2015-09-29 20:17:00 214

转载 iOS 自定义UINavigationController返回按钮

主要代码如下://自定义导航栏返回按钮 self.navigationItem.leftBarButtonItem = ({ //导航栏返回背景视图 UIView *view = [[UIView alloc]initWithFrame:CGRectMake(0, 0, 160, 44)]; ...

2015-07-03 13:14:00 535

转载 iOS UINavgationController、 UINavigationBar、 UINavigationItem关系分析

  一般导航控制器含有4个对象,UINavigationController、UINavigationBar、UIViewController、UINavigationItem。1:UINavigationController  UINavigationController的父类是UIViewController(UIViewController,是所有控制器的基类),关系如下图...

2015-07-03 10:47:00 103

转载 Swift范性

关于泛型「泛型」(Generic Code)也许是Swift相对于OC的最大特性之一吧!基于Swift的「泛型」特性,你能够写出扩展性更强、复用性更强的方法、类型,它可以让你尽可能避免重复代码,用一种清晰和抽象的方式来表达代码的意图。许多的Swift标准库是基于「泛型」够构建的。譬如,Swift中的集合类型都是泛型集,你可以创建一个Int数组,也可以创建一个String数组,甚至...

2015-06-29 21:26:00 143

转载 Swift协议

「协议」(protocol)声明一系列方法、属性、下标等用来约束其「遵循者」,进而保证「遵循者」能够完成限定的工作。「协议」本身不实现任何功能,它仅仅描述了「遵循者」的实现。「协议」能被类、结构体、枚举所遵循,若某个类型遵循某「协议」,则称该类型遵循(conform to)某协议。协议的语法协议的定义与类、结构体和枚举的定义非常相似,如下:protocol SomeP...

2015-06-29 18:00:00 104

转载 Swift扩展

Swift中的「扩展」(extensions)和OC中的categories类似,只是Swift中的「扩展」没有名字。Swift中的「扩展」可以向一个已有的类/结构体/枚举类型添加新功能,这包括在没有权限获取源代码的情况下扩展类型的能力(即逆向建模)。Swift中的「扩展」可以:添加计算型实例属性和计算型类型属性;定义实例方法和类型方法;提供新的构造器;定义下标(su...

2015-06-29 17:59:00 91

转载 Swift类型转换

关于「类型转换」(Type Casting),《The Swift Programming Language》描述如下:Type castingis a way to check the type of an instance, and/or to treat that instance as if it is a different superclass or subclas...

2015-06-29 17:58:00 134

转载 Swift Optional Chaining

Optional Chaining介绍关于「optional chaining」,《The Swift Programming Language》是这么描述的:Optional chainingis a process for querying and calling properties, methods, and subscripts on an optional th...

2015-06-29 17:57:00 125

转载 Swift引用计数器

ARC概述和4.2+版本的Xcode对OC的支持一样,Swift也是使用ARC来管理内存,文档是这么描述的:Swift usesAutomatic Reference Counting(ARC)to track and manage your app’s memory usage. In most case, this means that memory manageme...

2015-06-29 17:56:00 267

转载 Swift构造过程

占坑转载于:https://www.cnblogs.com/FightingLuoYin/p/4608167.html

2015-06-29 17:55:00 79

转载 Swift下表和方法

本文将同时阐述Swift的方法和下标,因为根据我的理解,从某种程度上讲,下标的本质也是方法。方法众所周知,在支持面向对象的语言里,方法一般分为两种:实例方法和类方法(在有的语言中,「类方法」被称为「静态方法」)。Swift也不例外,只是考虑到类、结构体和枚举都可以定义这两种方法,所以「类方法」这个名词在Swift中不太实用了,Swift方法分为「实例方法」和「类型方法」。...

2015-06-29 17:52:00 66

转载 Swift属性

属性概述在Swift中,属性是类、结构体甚至枚举的组成部分。存储型属性和计算型属性OC中属性有两种:「普通属性」和「合成属性」,譬如对于一个UIView,center和bounds是其普通属性(是由对应的存储单元与之对应),而frame是合成属性(根据center和bounds而成而来)。在Swift中也有类似概念,只不过被称为:「存储型属性」(stored properti...

2015-06-29 17:51:00 79

转载 Swift类和结构体

在C++中,相信不会有太多人去详细考究结构体和类的区别,因为二者关系实在不大。但在Swift中,结构体和类的关系非常大,它们的组成部分都包括:初始化器、实例方法、实例属性、类型属性、类型方法等等;二者也自然有很多的不同点,最大的不同点要数「类是引用类型,结构体是值类型」。本文着重对比阐述类和结构体的本质区别和它们的使用。类和结构体对比在Swift中,类和结构体有很多的共同点,包括...

2015-06-29 17:50:00 93

转载 Swift闭包

占坑转载于:https://www.cnblogs.com/FightingLuoYin/p/4608139.html

2015-06-29 17:48:00 42

转载 Swift函数

Function概述Swift中的function和其余语言(譬如C)中的function组成部分差不多,都包括:返回类型(若无返回值,则为void)、函数名、形参、函数体(逻辑代码)。只是Swift中function的长相和其他语言不太一样,它把返回值放在定义行的尾部,如下是一个包含包含返回值、形参的function:func welcome(name: String) -...

2015-06-29 17:47:00 79

转载 Swift 控制语句

Control Flow指的是『逻辑控制语句』,包括if、if-else、for、for-in、while、do-while、switch等。其中大部分和OC中差不多,但Swift在某些方便增强了控制语句的功能。譬如for-in中引入..<和...操作符;switch语句更是大不一样了。本文也只针对for-in和switch语句展开阐述。For-Infor-in语句基本上和...

2015-06-29 17:38:00 89

转载 Swift 集合类型

Swift集合类型介绍和OC类似,Swift也提供了三种集合类型:Array、Set以及Dictionary。Arrays用于顺序存储数据;Sets用于无序存储不同值;Dictionaries用于存储无序键值对。但Swift的collections和OC中的collections在要存储的元素类型要求是不同。Swift collections明确了元素类型。在OC中,coll...

2015-06-29 16:31:00 125

转载 Swift初见

Swift基本类型Swift的类型是在C和OC的基础上发展而来的,Int是整型;Double和Float是浮点型;Bool是布尔型;String是字符串。类似OC,Swift也提出了三个集合类型:Array、Set、Dictionary;除了上述比较熟悉的类型,Swift还增加了OC中没有的类型,比如元组(Tuple);Swift还增加了可选(Optional)类型。Swif...

2015-06-29 16:05:00 100

转载 iOS 观察者模式(KVO)的简单使用

  KVO的全称是Key-Value Observing,它实现了一种机制,对所关心的属性对象添加观察者,当属性值发生变化时会得到通知,我们可以对变化做相应的处理。看过设计模式的同学应该知道,这是一种典型的观察者模式。KVO的最大优点就是底层框架已经支持,开发人员不需要实现属性值发生变化时发送通知的方案,这样就大大减少开发的工作量。其次,KVO框架很强大,可以支持多个观察者观察同一属性,...

2015-06-22 17:41:00 198

转载 Objective-C中的+initialize和+load

写在前面近几天花了一些时间了解了一下Objective-C runtime相关的东西,其中涉及到了+load方法,譬如method swizzling通常在category的+load方法中完成。之前对initializer和load的使用就比较疑惑,但一直没有详细去对比了解,以此为契机,集各方资源,分析一下吧!关于了解+initialize和+load,个人感觉参考官方文档《N...

2015-06-18 16:14:00 95

转载 理解Objective-C Runtime (六)super

super在Objective-C中,如果我们需要在类的方法中调用父类的方法时,通常都会用到super,如下所示:@interface MyViewController: UIViewController @end @implementation MyViewController - (void)viewDidLoad { [super vi...

2015-06-18 15:54:00 100

转载 理解Objective-C Runtime (五)协议与分类

Objective-C中的分类允许我们通过给一个类添加方法来扩充它(但是通过category不能添加新的实例变量),并且我们不需要访问类中的代码就可以做到。Objective-C中的协议是普遍存在的接口定义方式,即在一个类中通过@protocol定义接口,在另外类中实现接口,这种接口定义方式也成为“delegation”模式,@protocol声明了可以呗其他任何方法类实现的方法,协...

2015-06-18 15:13:00 58

转载 理解Objective-C Runtime(四)Method Swizzling

Objective-C对象收到消息之后,究竟会调用何种方法需要在运行期间才能解析出来。那你也许会问:与给定的选择子名称相应的方法是不是也可以在runtime改变呢?没错,就是这样。若能善用此特性,则可发挥出巨大优势,因为我们既不需要源代码,也不需要通过继承子类来覆写方法就能改变这个类本身的功能。这样一来,新功能将在本类的所有实例中生效,而不仅限于覆写了相关方法的那些子类实例。此方案就是大...

2015-06-18 14:43:00 113

转载 理解Objective-C Runtime(三)消息转发机制

消息转发机制概述上一篇博客消息传递机制中讲解了Objective-C中对象的「消息传递机制」。本文需要讲解另外一个重要问题:当对象受到无法处理的消息之后会发生什么情况?显然,若想令类能理解某条消息,我们必须以程序代码实现出对应的方法才行。但是,在编译期向类发送了其无法理解解读的消息并不会报错,因为在运行期间允许继续向类中添加方法,所以,编译器在编译期间还无法确知类中到底会不会有个...

2015-06-18 11:31:00 109

转载 Objective-C Runtime(二)消息传递机制

在对象上调用方法是包括Objective-C的众多语言都具备的功能。但在Objective-C中,这个术语叫『传递消息』(pass a message)。『消息』有「名称」(name)或「选择子」(selector),可以接受参数,也可能有返回值。静态绑定和动态绑定由于Objective-C是C的超集,所以最好先理解C语言的函数调用方式。C语言使用「静态绑定」(static bi...

2015-06-17 16:16:00 67

转载 Objective-C Runtime(一)预备知识

很早就知道了Objective-C Runtime这个概念,「Objective-C奇技淫巧」「iOS黑魔法」各种看起来很屌的主题中总会有它的身影;但一直没有深入去学习,一来觉得目前在实际项目中还没有必要了解,二来懒。但,若想成为一个合格的iOS开发者,这个东西是躲不过的,好吧,抡起胳膊开始吧,争取一点点把它整明白吧!和了解其他技术一样,在了解一个东西之前,我总是问自己,这个有...

2015-06-17 15:49:00 113

转载 WebViewJavascriptBridge使用说明(IOS)

因为最近项目需要跨平台,在网上找到这个demo拿来用。首先简单说一下跨平台:由于现在很多产品都是有安卓版跟ios版,就意味着同一样东西要出两套,由两组人去完成,不仅增加了开发成本,也大大加剧了维护成本。聪明的coder想出了跨平台的思路,用html写页面,分别用webview(ios),(安卓)来加载,对某些html无法调用的硬件,通过双方的交互来实现方法的互调和传值。这个过...

2015-06-17 14:17:00 106

转载 GCD的使用(1)使用GCD保护property

  作为一个iOS开发者,必须要熟练使用GCD,本文是站在实际应用的角度总结GCD的用法之一: 使用barrier保护property。在多线程环境下,如果有多个线程要执行同一份代码,那么有时会出现问题,为了保证某些资源操作的可控性,需要一些手段来对这些“公共资源”进行保护,无论是什么语言,只要支持多线程,都会面对这个问题,即所谓的“资源同步问题”,对于基于Objective-C的iOS...

2015-05-22 15:09:00 126

转载 GCD基础知识

并行和并发在英文世界里,「并行」和「并发」的区别比较清晰,「并行」对应parallelism,「并发」对应concurrency;但在中文世界里二者仅一字之差,两个概念非常容易弄混淆;各种资料对「并行」和「并发」有各种各样的解释和比喻。我比较喜欢的一种是播客节目内核恐慌中的主播Rio的描述,大概意思是:「并发」和「并行」是一种计算模型,使得计算机能够在同一时间处理多个任务...

2015-05-22 14:48:00 161

转载 NSError分析

在iOS开发中,NSError的使用非常常见,使用也比较简单,也正因为简单,所以对这一部分知识不甚注重。但是近期在做app底层网络封装时发现了一些问题。我使用的网络框架是AFNetworking,AFNetworking常常会返回一些错误信息,有时需要将这些错误信息告诉用户,通常做法是将error.localizedDescription以弹框的形式原原本本展现给用户(譬如“网络不畅”之...

2015-05-22 11:48:00 219

转载 NSArray使用须知

多用firstObject方法在iOS7之前,我们获取NSArray的第一个元素,通常使用array[0],在iOS7中,新引入了公开的firstObject方法,对于空数组,该方法返回nil,而使用array[0]则会抛出NSRangeException异常。与firstObject方法对应的是lastObject方法。创建数组以数组创建数组关于构造(可变)数组有一个漂...

2015-05-22 11:40:00 90

转载 iOS设备闪光灯控制

很多时候都需要在APP中控制闪光灯的开关状态,譬如扫描二维码。控制iOS设备的闪光灯代码非常简单,短短几行代码就可以搞定:AVCaptureDevice *device = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];NSError *error;if (device.hasTorch) { ...

2015-05-22 11:13:00 313

转载 NSArray是强引用容器

经常比较疑惑NSArray、NSDictionary、NSSet这几个对象容器管理对象所采用的方式是“强引用”还是“弱引用”。通过简单的命令行程序得到的结论是“NSArray、NSDictionary、NSSet这几个容器都是强引用容器”。打开Xcode,新建project,选择“OS X”-“Application”-“Command Line Tool”,完成project的...

2015-05-22 11:11:00 148

转载 预处理指令#pragram

#pragma介绍#pragma是一个预处理指令,pragma的中文意思是『编译指示』。它不是Objective-C中独有的东西(貌似在C/C++中使用比较多),最开始的设计初衷是为了保证代码在不同编译器之间的兼容性,但随着时间推移,它出现在了更多更丰富的应用场景中。#pragma代码是在编译期间处理的;它既不属于注释,也不属于逻辑代码的一部分;并且它和其他预处理命令譬如#ifd...

2015-05-21 17:53:00 748

转载 iOS添加弹出菜单

最近接触的项目需要实现一个弹出窗,类似于点击微信navigation bar右上角的bar button所展现的弹出窗,最终效果如下: Demo代码存放在https://github.com/LuoDaRen/LYPopViewDemo转载于:https://www.cnblogs.co...

2015-05-21 17:35:00 79

空空如也

空空如也

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

TA关注的人

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