- 博客(42)
- 收藏
- 关注
转载 【iOS开发-动画】iOS开发动画实现合集
前言:在开发APP中,我们会经常使用到动画效果。使用动画可以让我们的APP更酷更炫,最重要的是优化用户体验,但取决于动画的质量。像QQ、微信、新浪微博等APP,动画效果就很好了,至少我很喜欢它们的动画,让我使用起来感觉很顺畅,心情很开朗。本文会介绍UIView效果的实现方法,非核心动画。一、使用UIView类实现动画基本写法,代码必须放在Begin和Commit之间:[UIView beginAni
2015-04-29 16:46:50 379
原创 【C语言总结】字符串
字符串的存储字符串是用字符数组存储的,并且最后一位必须是\0 ,编译器会把这个字符数组看做是char*类型的指针。 例如:printf("abc") //传递的时abc的地址,并且是a的地址 操作:char *p;p = "abc";char ch;ch = "abc"[1];字符串变量char str[8] = "abcdefg";//会把这几个字符复制到这个字符数组中;他的存储方式
2015-04-29 14:47:22 831
原创 【iOS开发-状态栏】关于怎么更改系统自带状态栏(变为白色或者隐藏)
简单方法iOS7以后系统状态栏就交给控制器管理了只要在controller里面实现方法就可以改变状态栏//使状态栏变为白色-(UIStatusBarStyle)preferredStatusBarStyle { return UIStatusBarStyleLightContent;}//隐藏状态栏-(BOOL)prefersStatusBarHidden { return Y
2015-04-27 11:04:21 2065
原创 【iOS开发-quartz2d】关于drwRect方法
为什么要实现drawRect:方法才能绘图到view上?因为在drawRect:方法中才能取得跟view相关联的图形上下文drawRect:方法在什么时候被调用?当view第一次显示到屏幕上时(被加到UIWindow上显示出来) 调用view的setNeedsDisplay或者setNeedsDisplayInRect:时
2015-04-26 21:44:31 369
原创 【iOS开发-UITabBarController】UITabBarController上面的UINavigationController的设置
为了保证项目的导航栏效果一直,一般都会设置导航栏的样式一样①自定义一个NavigationController类,继承与UINavigationController类 ②更改所有的UITabBarController下面的UINavigationController的class属性为自定义类形式 ③主要是取得导航栏的appearance对象,操作它就设置导航栏的主题UINavigationBar
2015-04-26 21:39:21 882
原创 【C语言笔记】循环
while语句当表达式为真,执行语句,直到表达式为假while(表达式) { 语句}do while语句先执行一次语句,然后判断表达式是否为真,如果为真继续执行一次,为假就结束循环do{ 语句}while(表达式)for语句先让i为0判断i是否小于5,为真执行语句,然后i+1,判断i是否小于5,为真继续执行for(int i=0; i < 5; i++) { 语句}逗号
2015-04-26 20:43:16 683
原创 【C语言笔记】格式化的输入和输出
printf函数格式prinf("字符串",表达式1, 表达式2.....);转换符%d//代表十进制数%5d//代表结果占用5个字符位,不够的用空格,结果右对齐%-5d//代表结果占5个字符位,不够的用空格,结果左对齐%5.3d//代表占5个字符位,但结果至少要3位,不够的用0补 005%e//代表指数%f//代表浮点数%10.3f//代表整数占10位,小数保留3位%c//代表单
2015-04-26 20:26:59 591
原创 【tcp-ip学习总结】一些常用的winsock API函数
字节排序函数将主机字节顺序的数转化为网络字节顺序的函数htonl()函数 返回一个32位的tcp/ip网络字节顺序的数 例如: server.sin_addr.s_addr = htonl(INADDR_ANY);U_long htonl( U_long hostlong//一个32位的数,将要转为网络字节顺序)htons()函数,里面传得一般式端口号 例如: server.sin
2015-04-23 13:17:05 931
原创 【tcp-ip学习总结】基础UDP实现的简单通信功能小程序
环境:VS2013#include<Winsock2.h>#include<stdio.h>#include<stdlib.h>#pragma comment(lib,"ws2_32.lib")#define DEFAULT_PORT 8888#define BUFFER_LENGTH 1024void main(){ int iPort = DEFAULT_PORT; W
2015-04-22 19:18:14 901
原创 【tcp-ip学习总结】使用tcp协议实现简单的通信小程序
环境:vs2013server.c#include<Winsock2.h>#include<stdio.h>#pragma comment(lib,"Ws2_32.lib")#include<stdlib.h>void main(){ WSADATA wsaData;//协议栈 struct sockaddr_in server, client;//服务端和客户端的地址
2015-04-22 18:05:08 2366
原创 【iOS开发】iOS程序启动的过程
①首先执行main函数 ②创建UIApplicationMain对象,创建UIApplication的delegate对象没有storyboard的情况③程序启动完毕的时候, 就会调用代理的 application:didFinishLaunchingWithOptions:方法 在application:didFinishLaunchingWithOptions:中创建UIWi
2015-04-22 16:36:17 539
原创 【iOS开发-quartz2d】制作图片水印
由两张图片合成一张带有水印的图片 UIImage *bgImage = [UIImage imageNamed:bg]; // 1.创建一个基于位图的上下文(开启一个基于位图的上下文) UIGraphicsBeginImageContextWithOptions(bgImage.size, NO, 0.0); // 2.画背景 [bgImage drawInRect
2015-04-22 15:28:09 369
原创 【tcp-ip学习总结】socket编程基础/网络编程基础
两个网络程序之间需要通信就需要在他们之间建立一个链接通道,这个通道就是由一个五元组组成 五元组:(协议、本地IP地址、本地端口号、远程IP地址、远程端口号)socket编程原理socket套接口网络程序之间通信是依靠socket套接口进行通信。 例如:主机A上面的QQ程序需要发送消息到主机B上面的QQ,步骤就是: ①主机A上面的QQ发消息存到主机A上面的socket中 ②这个socket通过
2015-04-22 13:49:54 873
原创 【tcp-ip学习总结】传输层协议UDP和TCP
关于端口互联网中任何两台主机之间通讯,都是从一端到另一端,又称端到端的通讯。端口又是什么?现代的操作系统都装有很多个应用程序,信息传到了我的电脑上我怎么知道这个信息就是传给我的QQ应用程序的呢?我的QQ程序有反应但是我的MSN怎么没有反应呢? 原因就是:我的系统有很多个端口号,每一个应用程序进程都绑定了本地一个独一无二端口号,这样每一个程序都与一个端口号绑定。比如QQ绑定了本地的66
2015-04-21 19:39:52 1016
原创 【tcp-ip学习笔记】关于IP协议层、IP地址
关于IP协议IP协议是一种无连接不可靠的数据包传输协议,因为IP协议不能保证数据包能正确的传输到目标主机,他只负责在网路层传输,但是回尽最大努力传输。而且每次传输所走的路线都不一样。关于IP地址现在ipv4网络地址是一组32位的二进制数。IP地址结构 因为上面的地址前面网络号占8位,所以在互联网中只能定义256个网络,那是相当不够用的。所以有划分了下面中IP类型 A类地址主要用在大型网络中
2015-04-21 13:47:09 796
原创 【tcp-ip学习笔记】tcp-ip协议
tcp-ip的体系结构TCP-iP协议体系结构分为四层,由高到低分别是:应用层,传输层,网络层,链路层,体系图如下(左边是OSI分层标准,右边是TCP标准) ①链路层 也称网络接口层,就是装得一些网络驱动层序,tcp-ip协议的重点不是链路层 ②网络层 也称互联网层,该层的主要协议就是IP协议了 ③传输层 主要有两个传输协议,一个是TCP一个是UDP ④应用层 就
2015-04-21 12:02:24 846
原创 【iOS开发quartz2d】关于图形上下文栈
主要使用的是两个方法①保存图形上下文,压入栈中,目前显示的就是这个图形上下文 CGContextSaveGState(ctx);②弹出图形上下文栈,把目前显示的这个图形上下文从栈中弹出CGContextRestoreGState(ctx);
2015-04-20 20:23:13 363
原创 【iOS开发问题】使用NSCoding写入本地文件读取不出来或者文件没有写入本地
今天写私人通讯录的时候,找了半天文件写入位置, 】详细位置参考 http://blog.csdn.net/ttf1993/article/details/45154349 找到位置后我发现没有写入 后来找到原因因为下面这句代码 NSString *doc = [NSSearchPathForDirectoriesInDomains(NSDocumentationDirectory, NSUs
2015-04-20 19:30:30 1037
原创 【iOS开发-模拟器】Xcode6以后mac中iOS模拟器安装路径以及程序沙箱路径
模拟器安装位置/Users/TTF/Library/Developer/CoreSimulator/Devices/模拟器标识(一些字符串)后面那些模拟器标识就是一些字符串代表每一个不同的iOS设备 比如D3E79030-5DB9-4E5B-8E46-5C3B100A4C1C就代表这是iPhone4S,点击进去查看device.plist这个文件就能知道。iOS应用程序资源文件位置/Users/T
2015-04-20 19:23:09 1925
原创 Mac下显示隐藏文件
显示:defaults write com.apple.finder AppleShowAllFiles -bool true 隐藏:defaults write com.apple.finder AppleShowAllFiles -bool false
2015-04-20 18:40:51 358
原创 【iOS开发问题】Xcode代码格式化与自动排版
Xcode 版本:4.2和4.2之前的版本 选中需要格式化代码 -> Edit -> Format ->Re-Indent Xcode 版本:4.2之后的版本 选中需要格式化代码 -> Editor -> Structure ->Re-Indent 或者 选中需要格式化代码 -> 右击 ->选中 St
2015-04-20 18:22:03 744
原创 【iOS开发-存储】使用NSCoding归档和反归档
iOS开发中要想存储对象可以使用NSCoding,要想存储的对象必须实验NSCoding协议比如我们要存储一个Student对象,那么Student类必须遵循NSCoding协议,然后实现NSCoding中得两个方法。@interface Student : NSObject <NSCoding>然后再.m文件中实现encodeWithCoder:(存)和initWithCoder:(读)方法,这
2015-04-20 17:55:53 1171
原创 【iOS开发-存储】使用偏好设置preference存储
①很多iOS应用都支持偏好设置,比如保存用户名、密码、字体大小等设置,iOS提供了一套标准的解决方案来为应用加入偏好设置功能 ②每个应用都有个NSUserDefaults实例,通过它来存取偏好设置 ③比如,保存用户名、字体大小、是否自动登录保存方法- (IBAction)save { // 1.利用NSUserDefaults,就能直接访问软件的偏好设置(Library/Preferen
2015-04-20 17:41:31 972
转载 Java的可变参数,参数后面三个点
private void removeTempFiles(String... fileNames) { for (String fileName : fileNames) { try { new File(fileName).delete(); } catch (Exception e) { }
2015-04-18 22:58:19 2957 1
转载 java垃圾回收机制
垃圾回收的意义 在C++中,对象所占的内存在程序结束运行之前一直被占用,在明确释放之前不能分配给其它对象;而在Java中,当没有对象引用指向原先分配给某个对象的内存时,该内存便成为垃圾。JVM的一个系统级线程会自动释放该内存块。垃圾回收意味着程序不再需要的对象是”无用信息”,这些信息将被丢弃。当一个对象不再被引用的时候,内存回收它占领的空间,以便空间被后来的新对象使用。事实上,除了释放没用的对
2015-04-17 13:59:26 401
原创 运用系统自带的一个Cell然后自定义Cell方法
一建议一个自定义Cell类,继承UITableViewCell类。二在storyboard里面找到系统自带的那个cell,改变class类型为自定Cell类型。三重写方法这里写代码片
2015-04-16 17:38:26 910
原创 自定义Cell访问不了自己的set方法,并且对象初始化产生的不是自定义的类型(cell.contact = self.contacts[indexPath.row])
错误(cell.contact = self.contacts[indexPath.row])(报错语句)Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UITableViewCell setContact:]: unrecognized selector sent to insta
2015-04-16 17:21:33 1350 1
原创 【iOS开发-存储】数据持久化之plist存储
**plist文件其实就是XML文档,只是后缀名为plist。如果对象是NSString、NSDictionary、NSArray、NSData、NSNumber等类型,就可以使用writeToFile:atomically:方法直接将对象写到属性列表文件中 **关于plist文件的写入- (void)saveArray{ // 1.获得沙盒根路径 NSString *home
2015-04-16 15:20:42 1635
原创 【iOS延迟发生】iOS开发中经常用到的延迟发生某些事实现方法
方法一 dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2.0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ //写要发生的代码;2秒以后发生});方法二 [self performSelector:<#(发生的方法)#> withObject:<#(id)#> af
2015-04-13 20:46:26 490
原创 【iOS开发】Quartz2D的简单使用
画直线 //拿到当前画布 CGContextRef ctx = UIGraphicsGetCurrentContext(); // 2.拼接图形(路径) // 设置线段宽度 CGContextSetLineWidth(ctx, 10); // 设置线段头尾部的样式 CGContextSetLineCap(ctx, kCGLineCapRound)
2015-04-13 19:34:53 580
原创 C++标准库类型vector,迭代器使用
①vector的声明要想使用vector,必须包含适当的头文件。#include<vector>using std::vector;vector是一个类模板。②初始化vector对象vector<T> v1; //v1是空得里面装的是T类型vector<T> v2(v1); //v2包含V1里面的所有元素的副本vector<T> v2 = v1; //等价v2(v1);vector<T
2015-04-13 18:16:02 644
原创 C++标准库string
一:标准库类型string①使用string要包含头文件#inluddeusing std:string;②sting 对象的初始化string s1; //初始化一个空串string s2(s1); //吧s1赋值给s2(也就是拷贝初始化)string s2 = s1;string s3("value");//(直接初始化)string s3 = "value"
2015-04-13 14:43:44 511
转载 什么是Java序列化,以及其如何实现
Java 串行化技术可以使你将一个对象的状态写入一个Byte 流里,并且可以从其它地方把该Byte 流里的数据读出来,重新构造一个相同的对象。这种机制允许你将对象通过网络进行传播,并可以随时把对象持久化到数据库、文件等系统里。Java的串行化机制是RMI、EJB等技术的技术基础。用途:利用对象的串行化实现保存应用程序的当前工作状态,下次再启动的时候将自动地恢复到上次执行的状态。序列化就是一种用
2015-04-10 20:22:56 400
原创 【iOS开发】怎样让label变成圆角的
//设置边缘弯曲角度label.layer.cornerRadius = 5;label.clipsToBounds = YES;(iOS7以后需要设置)
2015-04-10 20:15:17 4284
原创 使用BootCamp删除windows系统硬盘内存却没有改变
修复:1. 重启电脑,按住CMD+S,进入单用户模式,也就是命令行模式2. 输入fsck -f,回车,等待修复,然后输入reboot重启电脑
2015-04-10 20:12:29 5195 1
原创 【C++】C++ primer第2章总结
该章主要讲了基本内置变量以及const关键字下面是注意点:无符号的数与有符号的数相加会把有符号的数转为无符号的数unsigned u = 10;int i = -42;cout << i + u <<endl; //out -84cout 将有符号的数转为无符号的数,然后取模相加复合类型引用类型:引用就是给对象起另外一个名字,这样改变了引用也就改变了对
2015-04-09 14:38:04 388
转载 iOS开发面试题2
1.main() { int a[5]={1,2,3,4,5}; int *ptr=(int *)(&a+1); printf("%d,%d",*(a+1),*(ptr-1));}答:2,5 *(a+1)就是a[1],*(ptr-1)就是a[4],执行结果是2,5 &a+1不是首地址+1,系统会认为加一个a数组的偏 移
2015-04-09 12:11:48 386
转载 iOS开发面试题(OC版本 )
1.Difference between shallow copy and deep copy?浅复制和深复制的区别?答案:浅层复制:只复制指向对象的指针,而不复制引用对象本身。深层复制:复制引用对象本身。意思就是说我有个A对象,复制一份后得到A_copy对象后,对于浅复制来说,A和A_copy指向的是同一个内存资源,复制的只不过是是一个指针,对象本身资源还是只
2015-04-09 12:10:34 431
转载 OC内存管理总结
1.为什么要管理内存首先看这样一段代码:[objc] view plaincopyint main(int argc, const charchar * argv[]) { int a = 10; BOOL b = YES; char c = 'w'; return 0;
2015-04-09 12:04:26 453
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人