自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

寒流的专栏

我的编程自学之路

  • 博客(46)
  • 资源 (6)
  • 收藏
  • 关注

原创 个人博客koalahl.github.io

个人博客地址http://koalahl.github.io/

2016-04-27 10:42:38 842

原创 使用CALayer的mask属性来设置图片圆角

直接上代码: @property (weak, nonatomic) IBOutlet UIImageView *userHead; @property (nonatomic,strong) CAShapeLayer * userMaskLayer; 在ViewDidLoad中设置mask: self.userHead.layer.mask = [self userHeader

2015-10-13 14:09:23 3388

原创 知乎上的一个怎么面试iOS工程师的问题

知乎上某人的ios面试题1.什么是arc?(arc是为了解决什么问题诞生的?)首先解释ARC: automatic reference counting自动引用计数。 ARC几个要点: 在对象被创建时 retain count +1,在对象被release时 retain count -1.当retain count 为0 时,销毁对象。 程序中加入autoreleas

2015-04-13 22:31:02 61023 7

原创 理解Objective-C中的消息发送

首先来看看怎么理解发送消息的含义:曾经觉得Objc特别方便上手,面对着 Cocoa 中大量 API,只知道简单的查文档和调用。还记得初学 Objective-C 时把[receiver message]当成简单的方法调用,而无视了“发送消息”这句话的深刻含义。于是[receiver message]会被编译器转化为: objc_msgSend(receiver, selector) 如果

2015-04-12 20:36:39 4569

原创 C 语言 超大数相加和求余

超大数相加 这里超大数表示已经超出int、long、long long 范围的数字,所以不能简单的相加。此时就要用字符串,把输入的内容储存在字符串中,通过字符与数字之间的关系计算结果。 思路: 1.输入xxxx+xxxxxx,已‘+’分割成两个子串。 2.逆序两个子串,末位变成首位对齐,按位相加,大于10则向后位进一。 3.需要考虑到两个数长度不同的情况。 4.再把最后的结果逆序输出,就

2015-04-11 19:30:30 6854

原创 Block的实现原理

Block的实现原理这篇是记录根据网上的文章进行的实际操作。C函数的生成中间编译代码的编译方法是clang -rewrite-objc xxxx.c。由于编译文件中内容较多,这里我们只截取有关block的部分。首先,看看没有block的C函数以及编译后的结果:#include <stdio.h>int main(){ return 0;}编译代码中的block:这里我们可以看到一个bloc

2015-04-11 15:08:10 3034

原创 关于CoreData和SQLite多线程访问时的线程安全问题

关于CoreData和SQLite多线程访问时的线程安全问题数据库读取操作一般都是多线程访问的。在对数据进行读取时,我们要保证其当前状态不能被修改,即读取时加锁,否则就会出现数据错误混乱。 IOS中常用的两种数据持久化存储方式:CoreData和SQLite,两者都需要设置线程安全,在这里以FMDB来解释对SQLite的线程安全访问。一:FMDB的线程安全:(以读取图片为例)1.没有线程安全的执行

2015-04-09 22:24:28 5939

原创 将图片保存到沙盒或者相册

将图片保存到沙盒或者相册: 1.保存到相册:-(void)saveImageToAlbum:(UIButton *)sender{ //将图片保存到相册中 UIImageWriteToSavedPhotosAlbum(self.image, self, @selector(image:didFinishSavingWithError:contextInfo:), nil);}2.

2015-03-28 23:34:29 5641

原创 tableViewCell根据内容自适应高度的方法

tableViewCell根据内容自适应高度的方法:无论使用xib还是代码写控件,核心思想都是根据cell中content内容的高度来计算cell的高度。 1.在获取到cell数据源的时候计算内容高度。可以设置一个size属性,用来记录。 2.如果是xib,去掉autolayout 3.在cellForRowAtIndexPath方法中填充cell数据的时候,根据内容高度,设置控件高度 4.

2015-03-28 23:29:24 5053

原创 UICollectionView 添加段头

UICollectionView 添加段头: 1.用storyboard添加段头: 2.代码添加。注意:两种方法都需要设置如下,记住设置代理哟:_collectionView.dataSource = self;_collectionView.delegate = self;UICollectionViewFlowLayout * layout = [[UICollectionViewFlow

2015-03-28 23:23:06 13559 1

原创 NSString与NSData的转换以及两种分割方法

一:字符串与NSData的转换//NSString--->NSDataNSData *data = [_topic_title dataUsingEncoding:NSUTF8StringEncoding];//NSData--->NSStringNSString * str = [[NSString alloc]initWithData:data encoding:NSUTF8StringEnco

2015-03-28 23:13:51 3787

原创 UIStoryBoard中viewController之间的跳转与传值

UIStoryBoard中viewController之间的跳转与segue在使用storyboard中,三种segue类型:push、modal、custom。大多数情况会在UINavgationController控制器栈中使用push类型。通过segue可以实现不同视图控制器之间的跳转和传值。例如通过tableViewCell或者collectionViewCell连接segue到另一个sto

2015-03-28 22:35:24 1820

原创 IOS通过NSBundle获取资源文件名

当我们已有一个文件夹,里面全部放的图片,但是又不能知道每张图片的名字的时候,通过NSBundle mainBundle获取的是绝对路径,然后通过imageNamed:给imageView.image时,只需要文件名。这个时候通过NSString lastPathComponent方法来获取。代码如下:        imageArray = [[NSBundlemainBund

2015-01-25 21:35:05 6676

原创 C语言各种排序算法

//常用的排序算法  #include  using namespace std;    typedef int ElemType;    /* 1、插入排序 (1)直接插入排序算法 算法思想:将等排序列划分为有序与无序两部分,然后再依次将无序部分插入到已经有序的部分,最后  就可以形成有序序列。 操作步骤如下: 1)查找出元素L(i)在表中的

2015-01-22 22:06:33 650

原创 OC中的类别Category-协议Protocol-扩展Extension

类别(category)——通过使用类别,我们可以动态地为现有的类添加新方法,而且可以将类定义模块化地分不到多个相关文件中。通常只在类别中定义方法。 类别,接口部分的定义,通常该文件命名为已有"类+类别名.h"@interface 已有类 (类别名)//.......方法实现@end#import #import "Buy.h"@interface Person : NSObject

2015-01-13 23:11:21 5574

原创 C语言超大数相加

#include #include void reverse(char *s,int len);char * addLargeNumber(char *s1,char *s2);int main(int argc, char const *argv[]){ char str[100]; int len[10];//截取的每个子串的长度 scanf("%s",str); c

2015-01-07 08:54:46 13661 2

原创 C语言代码示例

#include #include int main(int argc, char *argv[]) { //输出所有的水仙花数:一个三位数,每个位上的数字的立方之和等于该数本身 int x,y,z; for (int i = 100; i 1000; i++) { x = i/100; y = i/10-10*x; z = i-10

2014-12-18 20:11:19 2370

原创 十进制转换成二进制数(可扩展到八进制和十六进制)

#include "stdio.h"#define N 2/*十进制转换成二进制数*/int main(int argc, char const *argv[]){ int _DecimalNumber,a,i=0,length; int mod,b[100]; printf("Enter a decimal number:"); scanf("%d",&_DecimalNumb

2014-12-16 14:40:38 1065

原创 IOS7 tabBarItem 自定义图片的设置

IOS7之前:

2014-09-18 22:52:19 23102 2

转载 objective C中的浅复制和深复制

导航:概念数组类型转换第一种:非容器类不可变对象第二种:容器类不可变对象第三种:非容器类可变对象第四种:容器类可变对象概念浅 复 制:对于被复制的对象的每一层复制都是指针复制(复制对象的指针)。深 复 制:在复制操作时,对于被复制的对象至少有一层复制是对象复制(复制引用对象内容)。完全复制:在复制操作时,对于被复制的对象的每一层复制都是对象复制。

2014-09-17 11:13:09 663

转载 delegate为什么用ASSIGN 而不是retain

问:为什么很多内置类如UITableViewController的delegate属性都是assign而不是retain的?答:会引起循环引用。这里delegate我们只是想得到实现了它delegate方法的对象,然后拿到这个对象的指针就可以了,我们不期望去改变它或者做别的什么操作,所以我们只要用assign拿到它的指针就可以了。而用retain的话,计数器加1。我们有可能在别的地方期望释

2014-09-15 20:20:53 791

转载 指针函数和函数指针

一、在学习arm过程中发现这“指针函数”与“函数指针”容易搞错,所以今天,我自己想一次把它搞清楚,找了一些资料,首先它们之间的定义:1、指针函数是指带指针的函数,即本质是一个函数。函数返回类型是某一类型的指针     类型标识符    *函数名(参数表)      int *f(x,y); 首先它是一个函数,只不过这个函数的返回值是一个地址值。函

2014-09-14 11:01:18 515

转载 Runtime of Objective-C

本文转自[0] Outline  --  [1] 版本和平台  --  [2] 与Runtime System交互  --  [3] 方法的动态决议  --  [4] 消息转发  --  [5] 类型编码  --  [6] 属性声明[1] 版本和平台Runtime System对于Objec

2014-09-11 21:48:10 568

转载 python常见模块命令(os/sys/platform)

一、OsPython的标准库中的os模块主要涉及普遍的操作系统功能。可以在Linux和Windows下运行,与平台无关。os.sep 可以取代操作系统特定的路径分割符。 os.name字符串指示你正在使用的平台。比如对于Windows,它是'nt',而对于Linux/Unix用户,它是'posix'。 os.getcwd()函数得到当前工作目录,即当前Python脚本工作的目录路径

2014-08-26 19:17:44 1667

转载 Python 面试题集合

Python是如何进行内存管理的?> gc, 引用记数什么是lambda函数?它有什么好处?> 匿名函数, 方便, 类函数式, 写回调方便how do I iterate over a sequence in reverse order> a_seq[::-1], reversed(a_seq)Python是如何进行类型转换的?> 数值运算同C, 不同的地方是 int

2014-08-15 11:34:06 808

转载 Objective-c 内存溢出问题经验汇总

iOS平台的内存使用引用计数的机制,并且引入了半自动释放机制;这种使用上的多样性,导致开发者在内存使用上非常容易出现内存泄漏和内存莫名的增 长情况; 本文会介绍iOS平台的内存使用原则与使用陷阱; 深度剖析autorelease机制;低内存报警后的处理流程;并结合自身实例介绍内存暴增的问题追查记录以及相关工具的使用情况;iOS平台内存常见问题作为iOS平台的开发者,是否曾经为内存问题而苦恼过?

2014-08-12 14:34:22 1095

转载 copy,assign,strong,retain,weak,readonly,nonatomic的区别

copy与retain:1、copy其实是建立了一个相同的对象,而retain不是;2、copy是内容拷贝,retain是指针拷贝;  3、copy是内容的拷贝 ,对于像NSString,的确是这样,但是如果copy的是一个NSArray呢?这时只是copy了指向array中相对应元素的指针.这便是所谓的"浅复制".4、copy的情况:NSString *newPt = [pt c

2014-08-11 21:55:15 685

原创 NSDocumentDirectory NSDocumentationDirectory 的区别

在制作DEMO中,使用到了获取程序文件路径的自定义方法:-(NSString*)documentsDirectory{        NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);    NSString *docu

2014-07-28 01:29:11 16182

原创 IOS7如何隐藏状态栏

IOS7如何隐藏状态栏,貌似之前的没效果了   升级到IOS7后,发现[[UIApplication sharedApplication] setStatusBarHidden: YES]无法隐藏状态栏了,但是该API依旧存在,应该不是apple禁止使用了,不知道是神马情况?大家是如何解决的?

2014-07-01 21:23:41 720

转载 UIImageView 使用图片的用法

//初始化UIImageView  *imageView=[[UIImageView alloc] initWithFrame:CGRectMake(100, 200, 120, 120)];//需要设置图片 UIImage第一种:[imageView setImage:[UIImage imageNamed:@"1.jpeg"]];

2014-07-01 20:57:30 678

转载 同步、异步、阻塞和非阻塞的理解

阻塞    《node.js开发指南》是这样定义的:线程在执行中如果遇到(I/O 操作)如磁盘读写或网络通信,通常要耗费较长的时间,这时操作系统会剥夺这个线程的 CPU 控制权,使其暂停执行,同时将资源让给其他的工作线程,这种线程调度方式称为 阻塞。当 I/O 操作完毕时,操作系统将这个线程的阻塞状态解除,恢复其对CPU的控制权,令其继续执行。这种 I/O 模式就是通常的同步式 I/O(S

2014-06-21 12:10:17 1137

原创 Python 核心编程第十八章

18.1 引言/动机多线程编程对于某些任务来说,是最理想的。这些任务具有以下特点:它们本质就是异步的,需要有多个并发事务,各个事务的运行顺序可以是不确定的,随机的,不可预测的。这样的编程任务可以被分成多个执行流,每个流都有一个要完成的目标。根据应用的不同,这些子任务可能都要计算出一个中间结果,用于合并得到最后的结果。一个顺序执行的程序要从每个I/O(输入/输出)终端信道检查用户的输

2014-06-14 15:40:49 1461

原创 经典算法问题:“this is a test” 逆序输出为“test a is this”.使用Python实现

看了http://www.dewen.org/q/13218/java++字符串的倒置排序 这个里面的回答之后,有了思路。鉴于本人刚学Python,小小练习算是。01import sys02string = ''03string1 = raw_input('Ent

2014-06-08 19:21:51 4566

原创 MAC OS X 配置java开发环境

1.从apple官网上下载javahttps://developer.apple.com/downloads/index.action#

2014-05-25 23:54:53 6852

转载 Mac OS X10.9安装的Python2.7升级Python3.3步骤详解

Mac OS X10.9默认带了Python2.7,不过现在Python3.3.3出来了,如果想使用最新版本,赶紧升级下吧。基本步骤如下第1步:官网下载Python3.3这里面有windows和mac os x下的安装程序,下载那个64位的安装程序第2步:安装下载的img文件,安装完后的目录如下:复制代码代码如下:/Library

2014-04-12 12:37:30 3004

转载 sublime text 注册码

直接输入注册码就可以了----- BEGIN LICENSE -----Andrew WeberSingle User LicenseEA7E-855605813A03DD 5E4AD9E6 6C0EEB94 BC99798F942194A6 02396E98 E62C9979 4BB979FE91424C9D A45400BF F6747D

2014-04-12 00:17:43 532

转载 3G和4GLTE网络的下一代安全

现在,随着移动网络运营商(MNO)不断地增加其用户群,并且努力成为互联网服务供应商(ISP)而不是基本语音和数据服务的供应商,他们面临3大挑战:以最高的性能和可用性来保持网络运行。提供丰富的、积极的用户体验。保护其移动网络、客户数据和设备不受当前和新兴的安全威胁。如果移动网络运营商希望维护客户的忠诚和信任,并保持其增长以及品牌的信誉,就必须成功地解决以上挑战。但是现在移动设备功能和

2013-10-19 15:48:25 1932

转载 linux下查看磁盘空间

如果要查看磁盘还剩多少空间,当然是用df的命令了。[root@localhost ~]# df -h 文件系统              容量 已用 可用 已用% 挂载点 /dev/sda2              14G   11G 2.6G 82% / /dev/sda1              99M   14M   81M 14% /boot tmpfs      

2013-10-12 11:02:36 623

转载 TCP/IP协议栈的基本工作原理

TCP/IP是互联网的核心协议,也是大多数网络应用的核心协议。就前面一段时间面试中问到的TCP/IP问题,这里给出一个简单的小结。 TCP由RFC793、RFC1122、RFC1323、RFC2001、RFC2018以及RFC2581定义。 (1) TCP概述a. TCP提供的是面向连接的全双工服务。TCP所有的数据会匹配到由源地址,目的地址,源端口,目的端口构成的一个TC

2013-10-11 20:44:19 824

原创 IOS 数据存储——用户默认设置 NSUserDefaults

用户默认设置NSUserDefaultsNSUserDefaults类提供了一个与默认系统进行交互的编程接口。NSUserDefaults对象是用来保存、恢复应用程序相关的偏好设置、配置数据等等。默认系统允许应用程序自定义它的行为去迎合用户的喜好。你可以在程序运行的时候从用户默认的数据库中读取程序的设置。同时,NSUserDefaults的缓存避免了在每次读取数据时候都打开用户默认数据库的操作

2013-07-01 21:01:40 3697

基于深度学习的乳腺癌病理图像自动分类

乳腺癌病理图像的自动分类具有重要的临床应用价值。基于人工提取特征的分类算法,存在需要专业领域 知 识 、耗 时 费 力 、提 取 高 质 量 特 征 困 难 等 问 题 。 为 此 ,采 用 一 种 改 进 的 深 度 卷 积 神 经 网 络 模 型 ,实 现 了 乳 腺 癌 病 理 图 像的自动分类;同时,利用数据增强和迁移学习方法,有效避免了深度学习模型受样本量限制时易出现的过拟合问 题。实验结果表明,该方法的识别率可达到 91%,且具有较好的鲁棒性和泛化性

2018-08-15

Linux command line

Linux Command line English and Chinese

2014-11-05

数电课程设计报告-抢答器

一分关于 抢答器的数字电路设计。里面有详细的试验程序。电路搭接图、

2009-06-25

数电课程设计报告-多路彩灯

数字电路课程设计的实验报告:讲解了一份关于制作多路彩灯的程序流程图。内容详细,方便易懂。

2009-06-25

空空如也

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

TA关注的人

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