自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

十二指环的博客

如果你不去改变什么,那么什么也不会改变。

  • 博客(49)
  • 收藏
  • 关注

原创 区块链—目录

玩转比特币以太坊(Ethereum)钱包什么是区块链以太坊智能合约开发前准备Solidity面向对象编程Solidity Types - 布尔(Booleans)Solidity Types - 整型(Integer)Solidity Types - 地址(Address)Solidity Types - 字符串(String Literals)Solidity Types - ...

2018-08-20 15:49:07 681

原创 iOS核心动画CoreAnimation系统进阶—目录

核心动画之图层详解核心动画之基础动画核心动画之关键帧动画核心动画之转场动画核心动画之动画组核心动画之物理仿真动画核心动画之性能调优...

2018-08-06 14:45:50 336

原创 区块链:建立加密代币

启动testrpc打开终端,启动testrpctestrpcEthereumJS TestRPC v6.0.3 (ganache-core: 2.0.2)...代币合约的基本概念代币合约扮演的角色相当于银行的角色。使用者在代币合约中,用自己的以太币帐户地址当作银行帐户,可以透过代币合约执行转账(transfer,将代币由一个帐户转到另一个帐户),查询余额(balanceOf...

2018-08-30 14:11:00 928

原创 区块链:元组 (Tuples)

什么是元组普通的数组返回方式pragma solidity ^0.4.4;contract C{ uint[] data = [1,2,3,4,5]; function f() constant returns (uint[]){ return data; }}普通的字典返回value值方式,但是如何返回一个字典样式的数据呢?pragma ...

2018-08-29 09:05:19 1624

原创 区块链:单位(Units) 和 全局变量(Globally Available Variables)

Ether Units一个整数的后面可以跟一个单位,ether,finney,szabo或者wei。他们的单位换算如下: 1 ether = 1000 finney 1 ether = 1000000 szabo 1 ether = 10 ** 18 weiTime Units时间的单位有seconds, minutes, hours, days, w...

2018-08-28 16:28:39 1047

原创 区块链:集资 智能合约 综合案例

结构体和字典综合案例下面的案例是一个集资合约的案例,里面有两个角色,一个是投资人Funder,也就是出资者。另一个角色是运动员Campaign,被赞助者。一个Funder可以给多个Campaign赞助,一个Campaign也可以被多个Funder赞助。完整合约:pragma solidity ^0.4.4;contract CrowdFunding { // 定义一个`F...

2018-08-28 16:03:14 722

原创 区块链:Solidity值类型(Solidity 字典/映射 Mappings)

语法mapping(_KeyType => _ValueType)字典/映射其实就是一个一对一键值存储关系。{age: 28, height: 172, name: wt}同一个映射中,可以有多个相同的值,但是键必须具备唯一性。pragma solidity ^0.4.4;contract MappingExample { mapping(address =...

2018-08-28 14:16:37 741

原创 区块链:Solidity值类型(Solidity 枚举Enums & 结构体Structs)

枚举Enums案例pragma solidity ^0.4.4;contract test { enum ActionChoices { GoLeft, GoRight, GoStraight, SitStill } ActionChoices _choice; ActionChoices constant defaultChoice = ActionChoic...

2018-08-28 13:47:26 969

原创 区块链:Solidity值类型(Solidity 数组)

固定长度的数组(Arrays)固定长度类型数组的声明pragma solidity ^0.4.4;contract C { // 数组的长度为5,数组里面的存储的值的类型为uint类型 uint [5] T = [1,2,3,4,5];}通过length方法获取数组长度遍历数组求总和pragma solidity ^0.4.4;contract C {...

2018-08-28 11:24:49 2813 1

原创 区块链:Solidity值类型(String字符串、固定大小字节数组、动态大小字节数组之间的转换)

固定大小字节数组(Fixed-size byte arrays)之间的转换pragma solidity ^0.4.4;contract C { bytes9 name9 = 0x6c697975656368756e; function bytes9ToBytes1() constant returns (bytes1) { return bytes...

2018-08-27 17:39:53 1643

原创 区块链:Solidity值类型(String字符串&固定大小字节数组&动态大小字节数组)

固定大小字节数组(Fixed-size byte arrays)固定大小字节数组可以通过 bytes1, bytes2, bytes3, …, bytes32来进行声明。PS:byte的别名就是 byte1。bytes1只能存储一个字节,也就是二进制8位的内容。 bytes2只能存储两个字节,也就是二进制16位的内容。 bytes3只能存储三个字节,也就是二进制24位的内容。 …… ...

2018-08-27 16:26:39 5096

原创 iOS:多效果的CategoryView

There is an English version of README here. just click it!A powerful and easy to use category view (segmentedcontrol, segmentview, pagingview, pagerview, pagecontrol) (腾讯新闻、今日头条、QQ音乐、网易云音乐、京东、爱奇艺、腾讯...

2018-08-27 15:05:12 4516

原创 iOS 仿支付宝首页样式

效果图: 了解一下他们的层级关系,还是先看图,方便解释:图片已经标明的很明白,我们在控制器先放上一个UIScrollView,在它的上面分别放上一个HeaderView(UIView)和一个UITableView。这时需要控制UITableView不能滑动,并且在设置高度时保持和行高*行数一致,也就是说这个方法适用于一些UITableView不必显示过多的页面,这里面不参与U...

2018-08-27 14:52:40 667

原创 区块链:Solidity值类型(地址Address)

地址Address以太坊钱包地址位数验证以太坊中的地址的长度为20字节,一字节等于8位,一共160位,所以address其实亦可以用uint160来声明。我的以太坊钱包地址为0xDF12793CA392ff748adF013D146f8dA73df6E304,0x代表十六进制,我们将DF12793CA392ff748adF013D146f8dA73df6E304拷贝,如下图所示,将其进...

2018-08-24 16:14:22 7999 2

原创 区块链:Solidity值类型(布尔Boolens&整型Integer)

Solidity Types布尔(Booleans)bool: 可能的取值为常量值true和false。支持的运算符:! 逻辑非&& 逻辑与|| 逻辑或== 等于!= 不等于备注:运算符&&和||是短路运算符,如f(x)||g(y),当f(x)为真时,则不会继续执行g(y),在f(x)&&g(y)表达式中,当f(x)为...

2018-08-24 08:35:46 715

原创 区块链:Solidity值传递&值类型与引用类型

Solidity值传递pragma solidity ^0.4.4;contract Person{ uint _age; function Person(uint age) { _age = age; } function f(){ modify(_age); } function modify(uin...

2018-08-23 16:57:43 1482

原创 区块链:Solidity合约中属性和行为的访问权限

属性的访问权限属性: 状态变量pragma solidity ^0.4.4;/*public >internal(这是合约属性默认的访问权限) >private */contract Person { uint internal _age; uint _weight; uint private _height; uint public _money;...

2018-08-22 17:18:59 863

原创 区块链:Solidity合约结构

一个完整的合约一个完整的合约,我们可以理解为一个类,代码如下:pragma solidity ^0.4.4;contract Counter { uint count = 0; address owner; function Counter() { owner = msg.sender; } function increme...

2018-08-22 15:46:31 274

原创 区块链:Solidity面向对象编程

面向过程编程C语言是面向过程的编程语言。(但是C语言同样也可以进行面向对象编程,假如你的功底很深的话)按照预设的顺序一步一步的去执行的过程,就是面向过程编程例如:我想听音乐打开电脑打开音乐播放器搜索歌曲播放歌曲暂停下一首音量调节关闭音乐播放器关闭电脑面向对象编程语言很多,包括:C++,Java,iOS, C#….随着开发年限的增涨,对面向对象的思...

2018-08-22 15:01:25 600

原创 区块链:以太坊智能合约开发准备

以太坊(Ethereum)是什么?以太坊官网以太坊是一个分散的平台,运行智能合约:完全按照程序运行的应用程序,没有任何停机,审查,欺诈或第三方干扰的可能性。这是官网上的一段文字描述,以太坊(Ethereum)是近几年才发展起来的一种新的底层区块链技术。以太币(Ether)是以太坊公有链上产生的加密货币,除了可以拿来像比特币一样交易外,还具有实际的用途。基于以太坊开发的DApps以太...

2018-08-21 17:10:40 1614

原创 一个在 iOS 设备屏幕上实时打印 Log 的小工具

需求写这个小工具的想法,主要来源于很多团队都会用友盟、TalkingData 等第三方框架做自定义事件统计;不过统计代码加好之后,没有很好的方法来让测试工程师验证一下事件加上了没有,调用次数有没有重复等。这个小工具,是一个保持在最前的 UIWindow,可以实时打印 log。gitHub地址用法只需把 HAMLogOutputWindow.h、HAMLogOutputWin...

2018-08-21 13:52:26 976

原创 区块链:通过演示Demo理解区块链运行原理

打开比特币Demo演示网页区块链Demo演示地址,我们可以看到如下页面。点击开始演示接下来是BlockChain Demo 2.0的新功能介绍关于Demo功能区的介绍并附有JavaScript代码和gitHubDemo地址显示每个区块存储的信息介绍区块链中区块的索引介绍创建区块时候的时间戳 介绍区块中hash散列加密介绍区块hash...

2018-08-21 11:01:44 6078

原创 什么是区块链[Block chain]?

区块链是一种分布式资料库最初是广泛使用在比特币[Bitcoin]维护一份连续不断的交易记录档案每一笔资料被称为一个区块[block]每一个区块可以包含一笔以上的交易每个区块都会与另一个区块产生连接[Linking]每个区块都会包含上个区块的hash值所有被连接在一起的区块被称为链[chain]区块链就是由多个区块组成的链区块链如何运作?产生区块的过程会经过复杂的密...

2018-08-20 17:09:12 1030

原创 iOS进阶_Crash

iOS Crash问题是iOS开发中难以忽视的存在,本文就捕获iOS Crash、Crash日志组成、Crash日志符号化、异常信息解读、常见的Crash五部分介绍。一、捕获iOS Crash1、设置异常断点并运行说明:设置Xcode异常断点后运行程序,发生Crash时,断点会定位到出错的代码行,但仅适用于开发阶段。线上APP的Crash还需要通过收集Crash机制来捕获Cra...

2018-08-15 17:42:51 530

原创 iOS程序异常Crash友好化处理

线上的app怎么避免闪退?我们在正常开发的时候,需要考虑各种容错机制,同时,也可以借助NSSetUncaughtExceptionHandler 函数来捕获异常,我们可以比较友好的处理程序异常,带来的突然崩溃。用法将CatchedHelper文件夹拖入项目工程中。在AppDelegate.m中找到以下方法并如下添加代码: [UncaughtExceptionHandler i...

2018-08-15 16:01:13 467

原创 iOS集成Bugly详解

异常上报SDK 集成通过CocoaPods集成新建项目 cd 项目目录 vim Podfile#source 'https://github.com/CocoaPods/Specs.git'inhibit_all_warnings!platform :ios, '7.0'target 'BuglyDemo' dopod 'ReactiveCoc...

2018-08-15 14:33:39 6377 1

原创 错误贴 | iOS pod报错 /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby: bad interpreter

pod 报错-bash: /usr/local/bin/pod: /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby: bad interpreter: No such file or directoryMacOS 升级后pod 出现的问题1、更新gem:sudo gem update –system...

2018-08-14 15:00:00 2691

原创 iOS核心动画CoreAnimation系统进阶(2D物理引擎)

iOS7前是拟物化,扁平化。iOS7以后交互动画:拟真效果目前知名的2D物理引擎有 Box2d,和Chipmunk,这些是跨平台的。但苹果本身也封装了一个物理引擎, UIDynamic是从iOS 7开始引入的一种新技术,隶属于UIKit框架。这可以让开发人员可以在远离物理学公式的情况下,实现炫酷的物理仿真效果。在游戏开发中会经常用到。本文主要是玩一些较浅的功能,就不说那些游戏中框架中的高级用法...

2018-08-14 14:15:14 612

原创 iOS核心动画CoreAnimation系统进阶(仿QQ气泡拖拽效果)

拆分: 1.2个圆,一个固定,一个可移动-(void)setup{ //添加view1 _view1 =[[UIView alloc]initWithFrame:CGRectMake(36, CGRectGetHeight(self.view.bounds)-66, 40, 40)]; _view1.layer.masksToBounds = YES; ...

2018-08-14 10:14:12 986

原创 iOS核心动画CoreAnimation系统进阶(自定义转场动画)

想要实现自定义转场动画,需要分两个步骤一.实现相关协议@interface CustomTransitionViewController ()<UINavigationControllerDelegate>-(void)viewWillAppear:(BOOL)animated{ [super viewWillAppear:animated]; self...

2018-08-13 16:36:12 1865

原创 iOS核心动画CoreAnimation系统进阶(子图层:富文本+渐变+3D)

CATextLayer富文本图层#import <CoreText/CoreText.h>//富文本图层-(void)textLayer{ CATextLayer * textLayer =[CATextLayer layer]; textLayer.frame = CGRectMake(100, 400, 200, 50); textLayer...

2018-08-10 17:33:33 652

原创 iOS核心动画CoreAnimation系统进阶(赛贝尔曲线绘制火柴人图形)

通过绘制经典的火柴人图形,练习赛贝尔曲线的绘制绘制火柴人图形1.首先绘制圆形-(void)shaperLayer{ UIBezierPath * path =[UIBezierPath bezierPath]; //首先绘制圆形 [path moveToPoint:CGPointMake(175, 100)]; //addArcWithCenter既...

2018-08-10 14:39:33 473

原创 经验贴 | UITableView中Cell嵌套UIWebView时获取高度

使用场景:tableView 的 cell嵌套webView<webView加载一般是加载一个静态网页,或者加载一段html片段>的时候,需要获取webView的内容的高度,然后计算相应的cell的高度,进而展示一些丰富的富文本之类的东西,是期中的一个使用场景。当然可能还有其他的使用场景。 下面说一下其中的两个小坑,或者说注意事项。获取webView高度的方法 获取webV...

2018-08-10 10:48:00 1300

原创 Objective-C实现链式编程语法(DSL)

您越着急开始写代码,代码就会花费越长的时间。 - Carlson, University of Wisconsin前言熟悉Objective-C这一门编程语言的人都知道,Objective-C中方法的调用都是通过中括号[]实现的。比如[self.view addSubview:xxxView];如果想要在一个对象上连续调用多个方法,就要使用多组中括号嵌套(当然要保证每个方法都能把该对象作为...

2018-08-09 18:15:36 419

原创 iOS核心动画CoreAnimation系统进阶(点赞经典动画 CAEmitterLayer 粒子动画详解)

1.图片变了[_linkBtn setImage:[UIImage imageNamed:@"default"] forState:UIControlStateNormal]; [_linkBtn setImage:[UIImage imageNamed:@"select"] forState:UIControlStateSelected];2.大小变了:使用关键帧动画C...

2018-08-09 17:42:18 1344

原创 实用贴 | Xcode模拟器卡顿

有的时候,我们不小心按下快捷键commond + T会使模拟器变得貌似很卡顿,其实是开启了slow Animations 功能。把debug下的show animations 前面的钩去掉即可

2018-08-09 15:43:07 2862

原创 iOS核心动画CoreAnimation系统进阶(赛贝尔曲线-菜单侧滑动画拆分动画详解)

我们知道动画是基于绘制的,多次绘制贝塞尔的过程就会形成动画。流畅的动画效果会给用户带来不一样的使用体验,下面我们就让App开发中经常使用到的侧滑动画进行拆分详解。效果图如下:为侧滑动画封装一个slideMenuView 绘制侧滑动画需要下面几个步骤1.添加模糊背景#define menuBlankWidth 50#define menuBtnHeight 40#def...

2018-08-09 14:39:33 759

原创 关于error:Cannot assign to 'self' outside of a method in the init fami

在开发中有个需要注意的小细节 有时候我们重写父类的init方法时不注意将init后面的第一个字母写成了小写,在这个方法里面又调用父类的初始化方法(self = [super init];)时会报错,错误信息如下:error:Cannot assign to ‘self’ outside of a method in the init family原因:只能在init方法中给self赋值,Xc...

2018-08-08 16:24:22 117

原创 iOS核心动画CoreAnimation系统进阶(转场动画&组动画)

CATransition核心代码//转场动画:默认淡入淡出 CATransition *anim =[CATransition animation]; anim.type =@"suckEffect";//从父视图的左上角收缩 anim.startProgress =.5;//从动画进程的一半开始 anim.startProgress =.8;//从...

2018-08-08 15:14:24 246

原创 iOS核心动画CoreAnimation系统进阶(UIView和layer动画基础)

coreAnimation的功能包括绘图和动画UIView:界面的展示以及用户的交互 layer:真正绘制UIView封装了Calayer

2018-08-08 11:26:37 595

空空如也

空空如也

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

TA关注的人

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