- 博客(58)
- 资源 (8)
- 收藏
- 关注
原创 使用MQTTKit向服务器发送消息
一、通过Cocoa Pods安装MQTTKitMQTTKit在github上链接https://github.com/NormanLeeIOS/MQTTKit#send-a-message
2014-11-19 15:27:16 1827 2
原创 OC中合成存取方法
首先需要声明一下实例变量和属性的区别。实例变量:/// 接口文件#import - (int) a; // 实例变量- (int) b;- (void) fun1;...@end/// 实现文件#import "XXX.h"@implementation XXX{int a; // 实例变量int b;}
2014-11-18 22:35:51 682
原创 IOS常用设计模式——MVC模式(IOS开发)
Cocoa Touch中的MVC模式中,模型和视图不能进行通信,所有通信都是控制器完成。- 模型:是个较为特殊的对象,本质是视图的数据,Text Field输入的内容,Button上的标签都是模型,不一定非要创建一个模型类。- 视图:UIView,这个比较容易理解,向控制器发送请求。- 控制器:更新视图作为对用户请求的回应,更新模型的数据。模型里面就是数据,视图就是个界面,控制器是
2014-11-05 21:27:17 484
原创 IOS常用设计模式——观察者模式(IOS开发)
观察者模式(Observer)也叫发布/订阅模式(Publish/Subscribe)- 问题:在软件设计中,经常需要对一个对象的状态改变,从而引起很多对象的状态发生改变。这个特点很明显,复用性强,而且对象之间匿名通信。观察者模式最为适合。- 原理:举个例子:包括四个角色:1、抽象主题(subject)。是个协议,是一个观察者集合容器,定义了添加,移除和对所有观察者发送通知
2014-11-04 23:01:40 489
原创 IOS常用设计模式——委托模式(IOS开发)
委托模式在之前的博客中用到了很多,比如各种复杂的Cocoa Touch框架的UI控件,几乎都用到了委托来响应控件事件或控制其他对象。委托模式-问题:处理一切IOS应用都在UIApplication中完成,但是在设计过程中并不友好,它藕合度高,职责不清,难以维护,需要不断不断的重构,因此需要把看似功能很复杂的类分解或者分派成功能明确的类。Apple中我们经常用两种类,一个是框
2014-11-04 20:09:00 525
原创 IOS常用设计模式——单例模式(IOS开发)
IOS常用的设计模式包括:单例模式、委托模式、观察者模式和MVC模式。这里主要讲单例模式单例模式-问题: 主要解决应用中只有一个实例的问题(只需要某个类的实例)-原理:一般会封装一个静态属性,并提供静态实例的创建方法-应用:单例类// Singleton.h@interface Singleton : NSObject+ (Singleton *)sharedM
2014-11-04 19:25:22 569
原创 平铺导航——基于分屏导航的实现(IOS开发)
导航模式-平铺导航:内容没有层次关系,其实就在一个主屏幕上,只是采用分屏分页控制器来导航,可以左右上下滑动屏幕查看内容。(如:系统自带的天气)-标签导航:内容被分割几个功能模块,但这些功能实际上没有任何关系。通过标签管理。标签应用太多太多了。。。-树形导航:有层次,从上到下细分为或者为包含的关系。(如:邮箱)这几个经常组合起来一起使用。这里主要讲平铺导航。用到的控件
2014-10-29 22:32:20 775
原创 模态视图(IOS开发)
模态:模态视图从屏幕下方滑出来,完成的时候需要关闭这个模态视图,如果不关闭,就不能做别的事情,必须有响应处理的含义。主视图控制器---》模态视图控制器。主视图控制器与模态视图控制器之间为父子关系。UIViewController类中,主要有以下两个方法:presentViewController:animated:completion 呈现模态视图dismissViewContr
2014-10-29 19:05:22 914
原创 UI下拉刷新(IOS开发)
由于表应用有两个UI设计模式: 分页模式、下拉刷新模式。其中下拉刷新被广泛应用(新浪微博,QQ)这里吐槽一下QQ的墨迹,其实PC桌面的应用还好,及时的扁平化。但是IOS这么大的市场,但是现在都IOS8了,为什么还在用IOS6的下拉刷新的“胶皮糖”UI样式。IOS6以后增加了一个UIRefreshControl的下拉刷新类,目前这个类只能应用于表视图界面。在Xcode6中,还
2014-10-28 20:51:36 939
原创 修改单元格——删除、插入、移动(IOS)
插入和删除时序:client: setEditing: animated: -----> 设定进入表视图表视图---->委托: ()tableView:editingStyleForRowAtIndexPath:方法进行单元格编辑图标的设置方法进行单元格编辑图标的设置表视图---->数据源:()tableView:commiEditingStyle:forRowAtIndexPat
2014-10-27 19:41:10 806
原创 添加索引(IOS开发)
索引是用来辅助查询。原则:- 索引标题不能与显示的标题完全一样;- 索引应该具有一定的代表性,能够代表一个数据集合;- 如果采用了索引列表视图,一般情况下就不再使用扩展视图。(容易点到)会重新到的数据源方法:tableView: numberOfRowsInSection: ------获取某节的行数tableView:cellForRowAtIndexPath: --
2014-10-25 21:02:52 607
原创 自定义单元格(IOS)
自定义单元格有三种方法- 代码实现- xib- storyboard(推荐)在故事板中操作方法为1、在TableView属性的Prototype Cells设置为1,默认为1;2、需要创建自定义的单元格类;3、设定Table View Cell的Class为自定义类;自定义类:(并不难)#import "CustomCell.h"@implement
2014-10-24 14:18:57 584
原创 NSArray arrayWithArray的用法(objective - c)
NSArray几个常用方法。 NSArray* immutableArray = [[NSArray alloc] initWithArray:mutableArray] NSArray* immutableArray = [NSArray arrayWithArray:mutableArray]; NSArray* immutableArray = [mutabl
2014-10-24 10:39:31 1204
原创 简单表视图(IOS开发)
从现在开始进入表视图UITableView,同属UISrollView子类。包括两个协议UITableViewDelegate, UITableViewDataSource有一些概念- 表头视图 header view- 表脚视图 footer view- 单元格 cell- 节 section- 节头 section header- 节脚 section foot
2014-10-23 21:01:37 562
原创 普通选择器<数据源协议,委托协议>(IOS开发)
-普通选择器必须满足这两个协议,一个为委托协议,一个为数据源协议-委托协议负责控制控件UI、事件响应,实现可选-数据源协议负责控件与应用数据模型的桥梁,一般必须实现@interface ViewController : UIViewController //// ViewController.h// PickViewSample////
2014-10-22 22:14:06 592
原创 日期选择器(IOS开发)
- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib.}- (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning];
2014-10-22 22:00:43 583
原创 单界面的导航栏和工具栏的用法(IOS开发)
1、工具栏: -可以放置UIButtton,一般配合可变空格使用-iPhone中工具栏位于屏幕底部,按钮不超过5个-iPad中工具栏位于屏幕顶部,按钮数量不限-应用当前界面,考虑的是局部2、导航栏- 导航栏-导航栏控制器-多个导航栏项目-可以放置UIButton-考虑的使全局,多界面下-一般使用标准按钮,这样符合苹果设计的规范-放置在iPhone顶部(
2014-10-20 17:19:19 767
原创 警告框和操作表(IOS开发)
警告框(AlertView)时模态的,不关闭它就不能做其他事情,所以不是以下几种情况不应该随便使用。1、应用不能继续运行。如内存不足,没有网络。一般只需要一个按钮。2、询问另一个解决方案。不能运行时,询问是否可以用3G网络。3、询问对操作的授权。涉及到访问隐私信息的时候,需要用户授权,如位置、相册等。操作表(ActionSheet)可以给用户提供多个选择。可以利
2014-10-20 16:13:42 533
原创 定时器和进度条(IOS开发)
详见注释哈!- (IBAction)startToMove:(id)sender { // 判断是否在旋转 // stopAnimating方法为停止动画效果 if ([self.myActivityIndicatorView isAnimating]) { [self.myActivityIndicatorView stopAnimating]
2014-10-20 11:07:32 694
原创 键盘滚动到当前文本框和按return隐藏
-(void) viewWillAppear:(BOOL)animated { //注册键盘出现通知 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector (keyboardDidshow:)
2014-10-20 09:44:37 525
原创 webview的使用方法使用
- (IBAction)testLoadHTMLSting:(id)sender { // 设定主页文件的基本路径 // 文件名为“index.html” // [NSBundle mainBundle]是为了获取当前项目地址 NSString *htmlPath = [[NSBundle mainBundle]pathForResource:
2014-10-20 09:24:41 623
原创 旋转数组的最小数字
把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。输入:输入可能包含多个测试样例,对于每个测试案例,输入的第一行为一个整数n(1:代表旋转数组的元素个数。输入的第二行包括n个整数,其中每个整数a的范围是(1。
2014-10-13 00:54:10 741
原创 从尾到头打印链表
//// main.c// 从尾到头打印链表//// Created by 李亚坤 on 14-9-29.// Copyright (c) 2014年 李亚坤. All rights reserved.//#include typedef struct ListElmt_ //链表元素声明{ void *data; struct ListElmt
2014-09-30 00:06:53 681
原创 替换空格
请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。输入:每个输入文件仅包含一组测试样例。对于每组测试案例,输入一行代表要处理的字符串。输出:对应每个测试案例,出经过处理后的字符串。样例输入:We Are Happ
2014-09-28 23:51:30 444
原创 二维数组中的查找
题目描述:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。输入:输入可能包含多个测试样例,对于每个测试案例,输入的第一行为两个整数m和n(1输入的第二行包括一个整数t(1接下来的m行,每行有n个数,代表题目所给出的m行n列的矩阵(矩阵如题目描述所示,每一
2014-09-27 01:50:49 1321 2
原创 算法精解(三)——归并排序
归并排序 O(NlogN),所以归并排序最坏情况能够达到快速排序的平均水准 需要额外的存储空间O(n) 1、对数据不断的分割,直到剩下一个一个的 2、合并数据,在合并的时候,其实是两个有序的数组,因此 这个过程是两个有序数组进行合并排序// 归并排序// O(NlogN),所以归并排序最坏情况能够达到快速排序的平均水准// 需要额外的存储空间O(n)
2014-09-22 01:07:03 793
原创 算法精解(二)——快速排序
// 快速排序// O(n^2), 但是如果middle取得比较好的话,时间复杂度为O(nlogn)// 所以普遍认为是nlogn// 不需要额外的存储空间,是一般情况下最好的排序方法。#include "sort.h"int partition(void *data, int size, int esize, int i, int k, int (*compare)(co
2014-09-17 00:24:41 382
原创 C和指针 (pointers on C)——第十五章:输入输出函数
第十五章 输入输出函数这一章读完的第一感觉就是“呵呵”。如果说上过C语言课,基本上scanf()/printf()算是用的比较熟练了。尤其是那些抽象的格式说明。还有scanf()为什么要加括号。读过本书前面的内容的话,getchar(),putchar(),gets(),puts()这些应该也问题不大。再如果的话,你学过计算机图形学,你玩过OpenGL,听说过双缓存机制,那
2014-07-26 16:15:04 524
原创 C和指针 (pointers on C)——第十四章:预处理器
第十四章 预处理器我略过了高级指针话题那一章。太多的小技巧和太多的学术性探讨并不适合现在的我。不过我确实是读了,很多地方没有读懂,如果谁读了私下可以交流一下。有的小技巧还是非常有意思。预处理器这一章的内容,大家肯定都用过,什么#include,#define #ifdef #undef这些,但是绝对用的不多。作为全面了解学C,还是应该都看一看。预处理器用法很讲究,用不好会失误,
2014-07-25 16:54:49 552
原创 C和指针 (pointers on C)——第十二章:使用结构和指针
第十二章 使用结构和指针这章就是链表。先单链表,后双向链表。总结:单链表是一种使用指针来存储值的数据结构。链表中的每个节点包含一个字段,用于指向链表的下一个节点。有一个独立的根指针指向链表的第1个节点。单链表只能从一个方向遍历。如何insert单链表:1、新节点的link字段必须设置为指向它的后面节点。2、前一个节点的link字段必须指向这个新节点。为了
2014-07-23 21:15:02 648
原创 C和指针 (pointers on C)——第十一章:动态内存分配(下)习题
1、编写calloc,内部用malloc。void *calloc (size_t n, size_t size){ char * memory; memory =(char*) malloc(n * size); while( memory != NULL) { char * ptr; ptr = memory; while ( --n >= 0) { *pt
2014-07-23 21:12:11 580
原创 C和指针 (pointers on C)——第十一章:动态内存分配(上)
第十一章 动态内存分配数组在声明的时候,本身作为一个指针常量,它在编译时候内存就已经被分配好了。但是有时候程序不知道这个数组到底有多长,所以,为了防止内存的浪费,C提供了动态内存分配的策略。其实,作为独立的一章,本章显得内容不多。malloc,free,calloc,realloc就没有了,但是它包含很多用法,也有很多陷阱。总结:malloc和calloc函数都用于动态分配
2014-07-21 22:58:04 553
原创 C和指针 (pointers on C)——第十章:结构体和联合(下)习题
//1、这一章的习题纯粹为了刷存在感。。。typedef struct phone{ char * quhao; char * jiaohuantai; char * zhanhaoma;};typedef struct call{ char * date; char * time; phone * shiyong; phone * self; phone * huji
2014-07-21 22:55:41 655
原创 C和指针 (pointers on C)——第十章:结构体和联合(上)
第十章 结构和联合这个部分先介绍了.运算符,可以供直接访问,还介绍了->运算符,它代替结构体指针的间接访问操作(*struct).xxx这一章新手理解起来不算太难,没有学过操作系统的话理解位段、对齐等概念会有一些问题。越发的说明了指针和内存绝对是C的核心。总结:结构声明列出了结构包含的成员列表,不同类型的值可以存储在一起。不同的结构声明即使他们的成员列表相同也被认为
2014-07-20 20:01:31 670
原创 C和指针 (pointers on C)——第九章:字符串、字符和字节(上)
第九章字符串、字符和字节这一块在初学的时候很容易被大家忽视,但字符串作为一种重要的数据类型,没有在C中显式的说明。这样看起来C++定义了string的数据类型实在是带来了不少福音。如果想用C玩OJ或者数据结构与算法的话,这一章需要仔细阅读,因为这是你仅有能用到的字符串处理的标准库。总结:C的字符串标准库使用需要声明"string.h"。strlen用于计算一个字
2014-07-19 13:13:04 643
原创 C和指针 (pointers on C)——第八章:数组(下)习题
本章习题很经典:3-4判断单位矩阵5、矩阵乘法8、八皇后问题其中八皇后问题我感觉存在问题,回溯法我运用的不好就先不挂了。题目请见 http://download.csdn.net/download/wangpegasus/57017653、bool identity_matrix(int matrix[10][10]){ int length = 10;
2014-07-19 11:50:52 662
原创 C和指针 (pointers on C)——第八章:数组(上)
第八章数组本章原书作者的意图主要是跟指针进行比较,两者的共同点以及区别。因为小弟我的汇编基础为0,因此8.1.4指针的效率这一块我实在是不明白。本科时候学的数组绝对不会像现在一样学数组,所以好好学数组!它和指针在作为函数参数传递时是不是可以混用?声明数组和声明指针在编译过程中是否相同?形参可以省略几个下标,为什么?char *a = "hello";和char a
2014-07-18 17:21:54 545
原创 C和指针 (pointers on C)——第七章:函数(下)习题
这次的题目很经典。1、Hermite Polynomials2、求两个整数最大公约数3、ATOI4、可变参数列表的使用具体的题目在这里:题目请见 http://download.csdn.net/download/wangpegasus/57017651、int hermite(int n, int x){ if (n < 1) { return 1;
2014-07-16 18:41:20 620
glut的库文件,头文件,动态链接库
2013-09-26
(修改后)turbo系统 matlab 仿真代码 参考Dr.Wuyufei 有详细注释
2013-08-14
turbo系统 matlab 仿真代码 参考Dr.Wuyufei 有详细注释
2013-06-19
2012年美国数学建模一等奖获奖模型代码 mcm B题 the big long river matlab代码模型3
2013-06-19
2012年美国数学建模一等奖获奖模型代码 mcm B题 the big long river matlab代码模型2
2013-06-19
飞思卡尔强队技术报告
2012-05-14
2012年美国数学建模 mcm B题 the big long river matlab代码
2012-05-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人