摘要: 我的下拉刷新使用了系统在tableviewcontroller中自带的属性.使用了UIRefreshController这个类.如下为代码,其中RootViewControl继承自UITableViewController.以下为代码.非常简单的一个示例以下为.m中代码#import "RootViewController.h"@interface RootViewController ()@end@implementation RootViewController- (id)initWithStyle:(UITableViewStyle)style{ self = [su 阅读全文
posted @ 2014-01-13 18:03 徐坤很无聊 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 类似于微博、博客这样的应用,通常都需要数据分页。而数据分页常用的做法是在UITableView控件上追加新的数据。从而有效提高用户体验。接下来将介绍其实现过程。一、实现思路基本上就是数据源里先只放10条, 点击最后一个cell时, 添加更多的数据到数据源中。1)取得数据1234567891011- (void)viewDidLoad{[super viewDidLoad];[self _infoNavTabBar];num=15;//表格数据[self loadData];}loadData方法用于拉取API数据1234567891011121314151617181920212223//下载 阅读全文
posted @ 2014-01-13 16:54 徐坤很无聊 阅读(388) 评论(0) 推荐(0) 编辑
摘要: 原理:先数据放到一个table中,先显示10条,table底部有一察看更多选项,点击察看更多查看解析的剩余数据。基本上就是数据源里先只放10条, 点击最后一个cell时, 添加更多的数据到数据源中. 比如:数据源是个array:NSMutableArray *items;ViewController的这个方法返回数据条数: +1是为了显示"加载更多"的那个cell- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { int count = [ite 阅读全文
posted @ 2014-01-13 11:47 徐坤很无聊 阅读(253) 评论(0) 推荐(0) 编辑
摘要: 使用Block遍历数组和字典数组:NSArray* aa = @[@"123",@123,@YES];[aa enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) { NSLog(@"%d,%@",idx,obj); }];字典:NSDictionary* dic = @{@"zc":@100,@"yy":@120}; [dic enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL 阅读全文
posted @ 2014-01-13 09:43 徐坤很无聊 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 用过网易新闻客户端的朋友们都知道,获取新闻列表时有的时候他会请求网络有时候不会,查看某条新闻的时候再返回会标注已经查看的效果,接下来分析一下是如何实现的。首先:1、网易新闻用CoreData存储了新闻列表,因为我打开网易新闻的Documents时看到了三个文件:newsapp.sqlite,newsapp.sqlite-shm,newsapp.sqlite-wal:这三个文件是你在用CoreData时自动生成的。所以我确定他是用coredata存储的数据而不是sqlite数据库。(CoreData优点:能够合理管理内存,避免使用sql的麻烦,高效)2、网易会隔一断时间请求一次网络,具体时间有可 阅读全文
posted @ 2014-01-10 16:57 徐坤很无聊 阅读(160) 评论(0) 推荐(0) 编辑
摘要: + ( NSUserDefaults * ) standardUserDefaults返回值共享对象的默认值。讨论如果共享对象的默认值尚不存在,它与包含以下的域的名称搜索列表中创建,顺序如下:NSArgumentDomain ,包括默认的应用程序的参数的解析确定应用程序的包标识符域NSGlobalDomain ,由违约意味着所有应用程序可见的单独的域为每个用户的首选语言NSRegistrationDomain ,一组临时默认的值可以由应用程序进行设置,以确保搜索将总是成功默认值是当前用户初始化。后续修改标准的搜索列表保持有效,即使在调用此方法再次,搜索列表是保证标准仅在第一次调用此方法。// 阅读全文
posted @ 2014-01-10 09:34 徐坤很无聊 阅读(208) 评论(0) 推荐(0) 编辑
摘要: 在程序中经常会遇到这种情况,用户刚进入我们软件的时候我们是无需要求用户登录的,但是在下面的页面中,例如收藏,购买等页面的时候,显然在多个页面需要多次判定用户是否登录.试着用block简单的实现了一下该功能,先上代码,代码下面统一解释.#import "AppDelegate.h"#import "LoginViewController.h"#import "CollectViewController.h"@implementation AppDelegate- (BOOL)application:(UIApplication *)ap 阅读全文
posted @ 2014-01-10 09:28 徐坤很无聊 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 能够在ios桌面的程序icon右上角显示数字(badge number)的方法:在ViewController中的viewDidLoad方法中添加如下代码即可:[cpp]view plaincopy-(void)viewDidLoad{[superviewDidLoad];[UIApplicationsharedApplication].applicationIconBadgeNumber=2;} 阅读全文
posted @ 2014-01-09 11:19 徐坤很无聊 阅读(344) 评论(0) 推荐(0) 编辑
摘要: ASIHTTPRequest是一款极其强劲的HTTP访问开源项目。让简单的API完成复杂的功能,如:异步请求,队列请求,GZIP压缩,缓存,断点续传,进度跟踪,上传文件,HTTP认证在新的版本中,还加入了Objective-C闭包Block的支持,让我们的代码更加轻简灵活。下面就举例说明它的API用法。发起一个同步请求同步意为着线程阻塞,在主线程中使用此方法会使应用Hang住而不响应任何用户事件。所以,在应用程序设计时,大多被用在专门的子线程增加用户体验,或用异步请求代替(下面会讲到)。- (IBAction)grabURL:(id)sender{NSURL *url = [NSURL URL 阅读全文
posted @ 2014-01-09 10:38 徐坤很无聊 阅读(127) 评论(0) 推荐(0) 编辑
摘要: 平时我们使用对象之间的传值都是采用retain count +1的方式,这种方式的适用于当对象的某属性的值改变时,引用该对象的不同指针会同时改变,因为这两个指针指向的是同一个内存地址,但如果需求是,当一个指针执行的对象属性值发生改变时,不影响另一个对象,那么需要分配两个不同的内存地址,也就是说,我们就不可以采用retain关键字了,而是要采用copy 关键字,因为copy关键字会在复制时重新创建一个新的对象。 举例说明一下copy使用这里创建一个Person类Person.h,代码:@interface Person : NSObject {NSString *name;NSString *e 阅读全文
posted @ 2014-01-09 09:47 徐坤很无聊 阅读(251) 评论(0) 推荐(0) 编辑