Cocos2d-x有一个不错的控件CCTableView.之前用的时候发现有cell的顺序错乱和重复出现的问题.后来仔细看了一下源码,发现是自己用法错误.但是网上有人说是一个bug,要改源码.我发现2.04以上的源码都是没问题的. 先来看看网上说的改源码是怎么样改的: CCTableViewCell *CCTableView::dequeueCell() { CCTableViewCell *cell; //    ) { if () { cell = NULL; } else { ); cel…
之前用HTML5的Audio API写了个音乐频谱效果,再之后又加了个播放列表就成了个简单的播放器,其中弄了个功能是'Shuffle'也就是一般播放器都有的列表打乱功能,或者理解为随机播放. 但我觉得随机播放绝对要好实现些,用Math.random()产生一个介于1到歌曲数目之间的随机数便可,然后player.play(随机数). 而列表的打乱情况要不一样点,一是要呈现到界面,歌曲顺序要随机排,二是播放顺序不变,该哪是哪,只是该位置上的歌曲可能已经变成其他曲目了.抽象出来就是数组元素的重排,那么…
#pragma mark -- 数组排序方法(升序) - (void)arraySortASC{ //数组排序 //定义一个数字数组 NSArray *array = @[@(3),@(4),@(2),@(1)]; //对数组进行排序 NSArray *result = [array sortedArrayUsingComparator:^NSComparisonResult(id  _Nonnull obj1, id  _Nonnull obj2) { NSLog(@"%@~%@",…
本文简单介绍volatile关键字的使用,进而引出编译期间内存乱序的问题,并介绍了有效防止编译器内存乱序所带来的问题的解决方法,文中简单提了下CPU指令乱序的现象,但并没有深入讨论. 以下是我搭建的博客地址: http://itblogs.ga/blog/20150329150706/    欢迎到这里阅读文章. volatile关键字 volatile关键字用来修饰一个变量,提示编译器这个变量的值随时会改变.通常会在多线程.信号处理.中断处理.读取硬件寄存器等场合使用. 程序在执行时,通常将数…
这两篇博客[1][2]的模式是我心仪的一种科技博客的方式,提供源代码,显示运行图形结果,通俗地介绍理论原理. 直接把结论摘录下来吧. 随机算法如果写成如下形式 randomIndex = random.randint(0, len(items) - 1) 则得到一个偏序的结果,正确的写法是 randomIndex = random.randint(i, len(items) - 1) 只有这样,才能得到无偏的结果. 注: 所谓无偏,简单理解就是给定一个数组,随机乱序 n 多次,那么得到的结果应该…
毕业后稀里糊涂的闭门造车了两年,自己的独立博客也写了两年,各种乱七八糟,最近准备把自己博客废了,现在来看了下这两年写的对我来说略微有点意义的文章只此一篇,转载过来以作留念. 写的很肤浅且凌乱,请见谅. 我的服务器主要完成一个内网音视频实时转发功能,以及其他一些业务.设计大概如下: 服务器上分为接收线程,业务处理线程,发送线程.接收线程socket绑定到完成端口.业务处理线程是采用多线程的模拟完成端口,发送线程也是多线程采用模拟完成端口.这样做的目的是想业务处理线程阻塞并不影响发送和接收. 客户端…
上一篇讲述了用位图实现无重复数据的排序,排序算法一下就写好了,想弄个大点数据测试一下,因为小数据在内存中快排已经很快. 一.生成的数据集要求 1.数据为0--2147483647(2^31-1)范围内的整数: 2.数据集包含60%的0--2^31-1的整数,即踢去40%的数: 3.数据集中无重复数据,即任意两个数不相等: 4.生成的数据尽可能乱序. 二.方案分析 开始只是想弄个大点数据玩一下而已,觉得测试数据应该要满足上面的要求,动手写的时候发现,满足前3个要求都很容易,实现尽可能的乱序不好处理…
clumsy : http://jagt.github.io/clumsy/可以模拟以下几种场景: 延迟(Lag),把数据包缓存一段时间后再发出,这样能够模拟网络延迟的状况. 掉包(Drop),随机丢弃一些数据. 节流(Throttle),把一小段时间内的数据拦截下来后再在之后的同一时间一同发出去. 重发(Duplicate),随机复制一些数据并与其本身一同发送. 乱序(Out of order),打乱数据包发送的顺序. 篡改(Tamper),随机修改小部分的包裹内容.…
#pragma mark - 答题区按钮点击方法 - (void)answerClick:(UIButton *)button { // 1. 如果按钮没有字,直接返回 ) return; // 2. 如果有字,清除文字,候选区按钮显示 // 1> 使用button的title去查找候选区中对应的按钮 UIButton *btn = [self optionButtonWithTilte:button.currentTitle isHidden:YES]; // 2> 显示对应按钮 btn.h…
数组的升序和降序 - (void)sortWith:(NSArray *)array { // 排序 array = [array sortedArrayUsingComparator:^NSComparisonResult(NSNumber *num1, NSNumber *num2) { /** 1 4 5 2 4 1 5 2 4 1 5 2 5 4 1 2 5 4 1 2 5 4 2 1 */ NSLog(@"%@ %@", num1, num2); // 升序 // retur…