技术文章分类(180)

技术随笔(11)

文章分类 -  IOS开发

摘要:1,UITableViewCellStyleDefault- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ static NSStrin... 阅读全文
posted @ 2014-08-11 15:22 坤哥MartinLi 阅读(276) 评论(0) 推荐(0) 编辑
摘要:如果你熟练UITableview的用法,那么恭喜你,很简单了。UICollectionView只比UItableview需要多设置一个属性,那就是colloctionView.collectionViewFlowLayout. UICollectionViewFlowLayout *layout... 阅读全文
posted @ 2014-08-10 16:34 坤哥MartinLi 阅读(2183) 评论(0) 推荐(0) 编辑
该文被密码保护。
posted @ 2014-08-09 17:44 坤哥MartinLi 阅读(40) 评论(0) 推荐(0) 编辑
摘要:这先从assign,retain,copy说起(http://wenku.baidu.com/view/ab6ed804bed5b9f3f90f1c7d.html)结论:assign复制地址和数据,retain复制数据,新地址,copy新地址,新数据(数据==原来的数据)assign:对基础数据类型... 阅读全文
posted @ 2014-08-06 09:29 坤哥MartinLi 阅读(246) 评论(0) 推荐(0) 编辑
摘要:首先得先了解KVC,KVC (Key Value Coding),简单来讲,就是给属性设置值的;KVO,即:Key-Value Observing,它提供一种机制,当指定的对象的属性被修改后,则对象就会接受到通知。KVO是基于KVC实现的。(常用在股票等需要实时监控得场景)demo下载:https:... 阅读全文
posted @ 2014-08-04 15:14 坤哥MartinLi 阅读(183) 评论(0) 推荐(0) 编辑
摘要:下面有基本添加通知,发送,接收通知,以及传入参数,解析参数。first.m-(void)addObserver{ [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(handleMessage:) ... 阅读全文
posted @ 2014-08-04 10:31 坤哥MartinLi 阅读(168) 评论(0) 推荐(0) 编辑
摘要:突然觉得block用来写回调方法,显得非常直观。建议使用.基本使用如下:#import "ViewController.h"typedef void (^done1)(NSString *testString);typedef int (^done2)(NSString *testString);@... 阅读全文
posted @ 2014-08-02 13:37 坤哥MartinLi 阅读(365) 评论(0) 推荐(0) 编辑
摘要:1,下面这个例子,既会加载nib(前提是Test1ViewController初始化时加载nib),也会加载自定义的控件。如果初始化时没有加载nib,如:Test1ViewController *viewController = [[Test1ViewController alloc] init];... 阅读全文
posted @ 2014-07-31 16:10 坤哥MartinLi 阅读(206) 评论(0) 推荐(0) 编辑
该文被密码保护。
posted @ 2014-07-26 23:17 坤哥MartinLi 阅读(21) 评论(0) 推荐(0) 编辑
摘要:1,最常用的莫过于加载异步加载网络数据,再回到主线程刷新UI完整事例:https://github.com/MartinLi841538513/Dispatch_async NSString *urlString = @"http://old.idongway.com/sohoweb/q?me... 阅读全文
posted @ 2014-07-25 09:36 坤哥MartinLi 阅读(1090) 评论(0) 推荐(0) 编辑
摘要:多线程和异步操作的异同相同点:多线程和异步操作两者都可以达到避免调用线程阻塞的目的,从而提高软件的可响应性。甚至有些时候我们就认为多线程和异步操作是等同的概念。但是,多线程和异步操作还是有一些区别的。而这些区别造成了使用多线程和异步操作的时机的区别。异步操作的本质:所有的程序最终都会由计算机硬件来执... 阅读全文
posted @ 2014-07-23 14:11 坤哥MartinLi 阅读(400) 评论(0) 推荐(0) 编辑
摘要:单例(单态)模式单例设计模式确保对于一个给定的类只有一个实例存在,这个实例有一个全局唯一的访问点。它通常采用懒加载的方式在第一次用到实例的时候再去创建它。注意:苹果大量使用了此模式。例如:[NSUserDefaults standardUserDefaults],[UIApplication sha... 阅读全文
posted @ 2014-07-23 10:33 坤哥MartinLi 阅读(245) 评论(0) 推荐(0) 编辑
摘要:CMD+R:运行CMD+. :Stop RunCMD + [: 左缩进CMD + ]: 右缩进CMD + /: 注释或取消注释CMD + \: 设置或取消断点Esc :显示代码提示菜单Command+←: 移动光标到本行行首 Command+→:移动光标到本行行尾Shift+Command+←:选择... 阅读全文
posted @ 2014-07-21 18:16 坤哥MartinLi 阅读(131) 评论(0) 推荐(0) 编辑
摘要:首先,你已经完成了真机测试步骤(不会的参考我之前某篇博客),然后要生成destribute cer,并安装。在选中Xcode/Product/Archive 然后Export / Save For Ad Hoc Deployment 阅读全文
posted @ 2014-07-18 09:40 坤哥MartinLi 阅读(180) 评论(0) 推荐(0) 编辑
摘要:看这篇文章之前,建议读者先了解一下通知NSNotifation的通信原理不好描述,我先上图:就是点击“完成”可以隐藏键盘和自己,键盘出来时他们也跟着出来,对,就是这种效果,非常常用1,设置keyboardHeaderview和“完成”(这里的self.keyboardHeaderView设置成了se... 阅读全文
posted @ 2014-07-17 15:20 坤哥MartinLi 阅读(1466) 评论(0) 推荐(0) 编辑
摘要:注意:星期三打印4,星期天打印1,星期一打印2 var calendar:NSCalendar = NSCalendar.currentCalendar() var comps:NSDateComponents = calendar.components(NSCalend... 阅读全文
posted @ 2014-07-16 22:56 坤哥MartinLi 阅读(307) 评论(0) 推荐(0) 编辑
摘要:注意:self.datas是数据源就是必须先处理数据源,再进行cell的操作。 func switchButtonAction(isButtonOn:Bool){ self.tableview.beginUpdates() if isButtonOn==true{ ... 阅读全文
posted @ 2014-07-16 14:19 坤哥MartinLi 阅读(1479) 评论(0) 推荐(0) 编辑
摘要:1,注意设置UIWindow的frame self.window = UIWindow(frame:CGRectMake(0,0,DeviceFrame.width,DeviceFrame.height+StatusBarFrame.height)) self.window.... 阅读全文
posted @ 2014-07-16 10:20 坤哥MartinLi 阅读(191) 评论(0) 推荐(0) 编辑
摘要:1,这里定义代理协议,并且调用delegate方法import UIKitprotocol FaceDelegate:NSObjectProtocol{ func selectedFaceImgAction(text:String)}class DelegateTestViewControll... 阅读全文
posted @ 2014-07-11 19:34 坤哥MartinLi 阅读(2221) 评论(0) 推荐(0) 编辑
摘要:1,这是UICollectionView单独做Controller时的用法跟UItableview不同的地方,collectionview需要设置FlowLayout//// WeatherCollectionViewController.swift// SwiftStudy3//// Cre... 阅读全文
posted @ 2014-07-11 14:18 坤哥MartinLi 阅读(2047) 评论(0) 推荐(0) 编辑