- 博客(18)
- 收藏
- 关注
原创 iOS多线程使用总结
//获得主线程:[NSThread mainThread];{number=1, name=main}//获得当前线程:[NSThread currentThread];//判断是否主线程:[NSThread ismainThread];(BOOL)或者[[NSThread currentThread] ismainThread];(BOOL)//pThread使用:(C实现,跨平台,头文件#in...
2018-06-23 10:38:51
212
原创 iOS NSMutable属性声明时为什么不能使用copy
在iOS开发里面我们经常会进行NSMutable(可变类型的类,常用的如NSMutableString,NSMutableArray,NSMutableDictionary,NSMutableData等)属性的声明,在声明时我们都知道要使用strong(强引用)来进行标识,但是很多人不知道为什么不能使用copy来进行标识,下面我们展开讨论一下:1.为什么不能使用copy:总所周知,所有的可变类都是...
2018-06-23 10:37:57
700
原创 UIbutton的坑以及frame和bounds的区别
UIButton坑:1)设置图片+文字默认不会重叠,而是把这两个子view排开放,所以如果button的大小不够容纳两个view,就会只显示一部分。如果想强行设置重叠,需要设置EdgeInset[button setImageEdgeInsets:UIEdgeInsetsMake(0, 0, 0, -button.titleLabel.intrinsicContentSize.width)];[b...
2018-06-23 10:33:07
567
原创 为什么uibutton的outlet是weak以及tag的注意事项
为什么IBOutlet属性是weak的?因为当我们将控件拖到Storyboard上,相当于新创建了一个对象,而这个对象是加到视图控制器的view上,view有一个subViews属性,这个属性是一个数组,里面是这个view的所有子view,而我们加的控件就位于这个数组中,那么说明,实际上我们的控件对象是属于view的,也就是说view对加到它上面的控件是强引用。当我们使用Outlet属性的时候,我...
2018-06-23 10:22:06
280
原创 C实现银行家算法(避免死锁)
#include #include #include #define SourceType 3#define ProcessNum 5//第SourceNum类可用资源数:typedef struct Available{ int Available[SourceType];}Ava;//进程ProcessNum对资源S
2017-12-21 17:46:01
3610
原创 C实现traceroute(MacOS & Linux系统)
//#include #include #include #include #include #include #include #include //socket()#include //探测路由结构体:struct Detect{ int seq; //当前报文序号
2017-12-21 17:42:23
1418
1
原创 C实现DNS协议(MacOS & Linux)
#include #include #include #include #include #include /*typedef unsigned char __uint8_t;typedef short __int16_t;typedef unsigned short
2017-12-21 17:40:48
781
1
原创 C语言实现FTP(C/S)协议(ls命令和download命令)用两个端口实现(命令端口和数据端口)
Server:#include #include #include #include //sleep();#include #include #include #include#include #define SERVER_NET_PORT 4396#define TRANSPORT_PORT
2017-12-21 17:39:06
1348
原创 C实现简单TCP的C/S模型(Linux & Mac OS系统)
Server:#include #include #include #include //sleep();#include #include int main(int argc,const char * argv[]) { //Server Septs: /* 1.创
2017-12-21 17:35:50
323
原创 ping实现用到的函数以及解析C语言
//// main.c// draft//// Created by Ron on 2017/11/27.// Copyright © 2017年 Ron. All rights reserved.///****************************************************************
2017-12-21 17:32:01
916
原创 iOS多线程学习笔记(GCD、RunLoop、NSThread)
//获得主线程:[NSThread mainThread];{number=1, name=main}//获得当前线程:[NSThread currentThread];//判断是否主线程:[NSThread ismainThread];(BOOL)或者[[NSThread currentThread] ism
2017-12-21 17:25:40
384
原创 Qt中connect函数(信号与槽)初识
Qt开发信号与槽:一、介绍信号槽机制与Windows下消息机制类似,消息机制是基于回调函数,Qt中用信号与槽来代替函数指针,使程序更安全简洁。信号和槽机制是 Qt 的核心机制,可以让编程人员将互不相关的对象绑定在一起,实现对象之间的通信二、具体介绍:信号介绍:当对象改变其状态时,信号就由该对象发射 (emit) 出去,而且对象只负责发送信号,它不知道另一端是谁在接收这个信号。这样就
2017-06-11 17:09:42
21824
转载 隐藏底部NavigationController以及assign,copy,retain区别
隐藏底部NavigationController:在有tabbarcontroller时,A界面push到B界面想隐藏底部tabbar,从B界面返回A后再显示tabbar。那么在控制器A中可以设置:-(void)clickTheSettingBtn{ ControllerB *vcB = [[ControllerB alloc]init]; //在跳转之前设置为
2017-06-03 08:58:31
331
转载 Java字符串截取总结
众所周知,Java提供了很多字符串截取的方式。下面就来看看大致有几种。 1.split()+正则表达式来进行截取。 将正则传入split()。返回的是一个字符串数组类型。不过通过这种方式截取会有很大的性能损耗,因为分析正则非常耗时。String str = "abc,12,3yy98,0";String[] strs=str.split(",");for(int i=0,len=
2017-06-03 08:57:37
291
转载 iOS中App切换状态原理
当用户按下"Home"键或者系统启动另外一个应用时,前台foreground应用首先切换到Inactive状态,然后切换到Background状态。此转换将会导致先后调用应用代理的applicationWillResignActive:和applicationDidEnterBackground:方法。 在applicationDidEnterBackground:方法返回后,大部分应用
2017-06-03 08:54:05
1235
原创 OC中UITableView创建及原理
iOS设备的内存有限,如果用UITableView显示成千上万条数据,就需要成千上万个UITableViewCell对象的话,那将会耗尽iOS设备的内存。要解决该问题,需要重用UITableViewCell对象重用原理:当滚动列表时,部分UITableViewCell会移出窗口,UITableView会将窗口外的UITableViewCell放入一个对象池中,等待重用。当UITableView
2017-06-03 08:51:28
312
原创 类与对象
函数的调用过程要消耗内存资源和运行时间来传递参数和返回值,要记录调用时的状态,以便保证调用完成后能够正确地返回并继续执行。但如果有的函数需要频繁调用,而且代码简单,就可以定义为内联函数。内联成员函数原理:内联成员函数会在编译时被插入到每一个调用他的地方。(优点:减少调用开销,提高运行效率。缺点:增加编译后代码长度。)因此只有对相当简单的成员函数才可以声明为内联函数!内联
2017-03-17 15:18:43
209
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人