block

ios-常见的循环引用

柔情痞子 提交于 2020-03-01 19:12:54
介绍: 循环引用,指的是多个对象相互引用时,使得引用形成一个环形,导致外部无法真正是否掉这块环形内存。其实有点类似死锁。 举个例子:A->B->C->....->X->B ->表示强引用,这样的B的引用计数就是2,假如A被系统释放了,理论上A会自动减小A所引用的资源,就是B,那么这时候B的引用计数就变成了1,所有B无法被释放,然而A已经被释放了,所有B的内存部分就肯定无法再释放再重新利用这部分内存空间了,导致内存泄漏。 情况一:delegate Delegate是ios中开发中最常遇到的循环引用,一般在声明delegate的时候都要使用弱引用weak或者assign @property (nonatomic, weak, nullable) id <UITableViewDelegate> delegate; 当然怎么选择使用assign还是weak,MRC的话只能用assign,在ARC的情况下最好使用weak,因为weak修饰的变量在是否后自动为指向nil,防止不安全的野指针存在 情况二:Block Block也是比较常见的循环引用问题,在Block中使用了self容易出现循环引用,因此很多人在使用block的时候,加入里面有用到self的操作都会声明一个__weak来修饰self。其实便不是这样的,不是所有使用了Block都会出现Self循环引用问题

jQuery动画详解

99封情书 提交于 2020-03-01 11:25:44
千锋逆战班,停课不停学! 1.隐藏显示 (1)运动轨迹:都是从左上角开始动画,显示是从左上角开始显示,隐藏是向左上角隐藏 (2)参数: 参数1 : 毫秒 也就是动画的执行时间 参数2 : 运动的方式 linear 线性 参数3 : 回调函数 当运动结束时,执行的函数程序 (3)显示隐藏与切换 标签对象.show() — 让隐藏的标签,显示 标签对象.hide() — 让显示的标签,隐藏 标签对象.toggle() —切换:隐藏—>显示 显示—>隐藏 注:只能是 display: none;不能是透明度为 0 相应代码: <style> button { display : block ; margin : 0px auto 20px ; } div { width : 200px ; height : 200px ; background : pink ; margin : 0 auto ; display : none ; } </style> <body> <button name="block">点我出现</button><br> <button name="none">点我消失</button><br> <button name="toggle">点我切换</button><br> <div></div> </body> <script src="./jquery.min

跟高手学习LINUX笔记-13

北战南征 提交于 2020-02-29 12:01:54
第13章-Linux文件系统结构 13.1 硬盘结构 13.1.1 硬盘结构 先纠正一下坊间误区:很多人认为盘片为了保护,硬盘内部肯定是真空的,但是(画重点了!)磁盘内部不是真空,只不过里面有过滤部件所以空气很干净。因为真空不传热量,不利于散热。 硬盘内部一般有以下主要部分物理组成:| 圆形盘片 马达 永磁铁 控制芯片 由此物理结构引出硬盘的管理方式 圆形盘片被划分扇区与磁道;相同扇区不同盘面是柱面; 【硬盘内的盘片有两个面,都可以储存数据,而硬盘内的盘片往往不止一张,常见的有两张】 扇区一般是512字节 13.1.2操作系统在读写最小单位是:簇和block 一般常用簇的大小为:4K 磁盘存储一般是从外向内存储,外面的扇区密度高 一块大的硬盘分区的时间建议如此划分 1)前面的分区格式化以4K为标准 2)最后的分区格式化为32K为标准,这样以浪费些空间换取速度 13.2 文件系统结构 Linux文件系统由三部分组成:文件名,inode,block 文件名:只是使用者查找文件方便 13.2.1 inode介绍 inode:inode包含文件的元信息,具体来说有以下内容:    文件的大小--字节数    文件拥有者--UserID    文件拥有者所在组--Group ID    文件的对o,g.o用户的读、写、执行权限    文件的时间戳,共有三个: ctime-

'Scrollable' areas and 'unscrollable' areas in a website

旧街凉风 提交于 2020-02-29 07:04:07
问题 The photo (please view): Example Hey guys, I'm new here.. I'm also new to websites designing.. Also, I know that the word "scrollable" isn't valid. I'm creating a photo gallery and this is how it's supposed to look. There are black blocks there and basically they have a purpose. I want the menu (on the left) to always stay at its place, even when scrolling, which means that the only thing that the user will be able to do is to scroll down in the area of the photos. In my opinion, these blocks

The finally block does not always execute in try finally

梦想与她 提交于 2020-02-28 16:07:50
A finally block does not always xecute. The code in the try block could go into an infinite loop, the exception could rigger a “fail fast” (which takes the process down without running any finally locks), or someone could pull the power cord out of the wall. eg. static void TryFinallyDemo() { try { while(true) { Console.WriteLine(DateTime.Now.ToString("yyyyMMddHHmmssffff")); } } finally { Console.WriteLine("Finally block does not always execute!"); } } 来源: https://www.cnblogs.com/Fred1987/archive/2020/02/28/12377523.html

将块内的变量分配给块外的变量

浪尽此生 提交于 2020-02-27 08:14:47
我遇到错误 变量不可分配(缺少__block类型说明符) 在线 aPerson = participant; 。 我如何确保该块可以访问 aPerson 变量并且可以返回 aPerson 变量? Person *aPerson = nil; [participants enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) { Person *participant = (Person*)obj; if ([participant.gender isEqualToString:@"M"]) { aPerson = participant; *stop = YES; } }]; return aPerson; #1楼 要在块内分配一个在块外的变量,请始终在该变量之前使用__block说明符: __block Person *aPerson = nil; #2楼 只需使用 __block 前缀在块内声明和分配任何类型的变量即可。 例如: __block Person *aPerson = nil; __block NSString *name = nil; #3楼 只是提醒我我也犯了一个错误, __block 在首先声明变量时,即在块的外部,而不是在内部,必须进行声明。

还原data block dumps实际值

你说的曾经没有我的故事 提交于 2020-02-26 17:53:50
前天看了一个案例因为丢了表上的数据,从索引block中找回了值 转储了oracle block的值,如何得到它真正表中的值,也算 是dump(val,16)的逆运算 sys@ORCL>conn anbob/anbob Connected. anbob@ORCL>create table testdump(id number,name varchar2(10),ctime date); Table created. anbob@ORCL>insert into testdump values(918,’anbob’,sysdate); 1 row created. anbob@ORCL>select * from testdump; ID NAME CTIME ———- ———- ——————- 918 anbob 2012-05-04 09:39:23 anbob@ORCL>select dbms_rowid.ROWID_RELATIVE_FNO(rowid) fno,dbms_rowid.rowid_block_number(rowid) blkno 2 from testdump; FNO BLKNO ———- ———- 15 2676436 sys@ORCL>alter system dump datafile 15 block 2676436; System altered

Java开发区块链只需150行代码

筅森魡賤 提交于 2020-02-25 18:57:30
本文目的是通过java实战开发教程理解区块链是什么。将通过实战入门学习,用Java自学开发一个很基本的区块链,并在此基础上能扩展如web框架应用等。这个基本的java区块链也实现简单的工作量证明系统。本文用一个java例子,演示了开发一个区块链应用的过程,涉及到所有区块链的概念和基本实现方法。本文阅读对象,主要是希望和即将从事区块链开发的项目架构师。需要指出的是,我们用150行java代码构建的区块链达不到生产级别的,它只是为了帮助你更好的理解区块链的概念。 Java源代码保存在 Github 创建区块链 区块链就是一串或者是一系列区块的集合,类似于链表的概念,每个区块都指向于后面一个区块,然后顺序的连接在一起。那么每个区块中的内容是什么呢?在区块链中的每一个区块都存放了很多很有价值的信息,主要包括三个部分:自己的数字签名,上一个区块的数字签名,还有一切需要加密的数据(这些数据在比特币中就相当于是交易的信息,它是加密货币的本质)。每个数字签名不但证明了自己是特有的一个区块,而且指向了前一个区块的来源,让所有的区块在链条中可以串起来,而数据就是一些特定的信息,你可以按照业务逻辑来保存业务数据。 这里的hash指的就是数字签名 所以每一个区块不仅包含前一个区块的hash值,同时包含自身的一个hash值,自身的hash值是通过之前的hash值和数据data通过hash计算出来的

Dojo------DOM基础之DOM特效

一曲冷凌霜 提交于 2020-02-24 08:59:09
使用dojo 提供的标准特效,我们能创建平滑的用户的体验, 使用 dojo/_base/fx 和 dojo/fx 模块,能组合一些动态特效 Dojo 1.10有两个fx模块: dojo/_base/fx :在以前的dojo提供了基础特效方法,包括: animateProperty , anim , fadeIn , 和 fadeout dojo/fx :提供了许多高级特效,包括: chain , combine , wipeIn , wipeOut 和 slideTo 一、 Fading 平滑的显示和隐藏元素,使节点淡入淡出。 1 <button id="fadeOutButton">Fade block out</button> 2 <button id="fadeInButton">Fade block in</button> 3 4 <div id="fadeTarget" class="red-block"> 5 A red block 6 </div> 7 <script> 8 require(["dojo/_base/fx", "dojo/on", "dojo/dom", "dojo/domReady!"], function(fx, on, dom) { 9 var fadeOutButton = dom.byId("fadeOutButton"), 10

挂号平台首页开发(静态页面部分)

天涯浪子 提交于 2020-02-19 19:23:33
1、首先是设计稿 2、然后使用PxCook进行尺寸标注 3、字体信息去PS里看 4、首页框架代码编写 index.html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>index</title> <link rel="stylesheet" href="style.css"> </head> <body> <div class="top" id="top"> <div class="wrap"> </div> </div> <div class="header" id="header"> <div class="wrap"> </div> </div> <div class="nav" id="nav"> <div class="wrap"> </div> </div> <div class="banner" id="banner"> <div class="wrap"> <div class="banner-slide" id="banner-slide"></div> <div class="banner-search" id="banner-search"></div> <div class="banner-help" id="banner-help"></div> </div>