关于如何在页面中使用EGORefreshTableHeaderView的文章网上一大把, 抄来抄去的, 但也都没什么大问题. 只是在XCode4.2的ARC环境中使用的时候, 错误一把. 借此机会, 完整的记录一下如何排除错误, 及使用的方法. 首先第一步当然是下载这个下拉更新的框架了. htt
关于如何在页面中使用EGORefreshTableHeaderView的文章网上一大把, 抄来抄去的, 但也都没什么大问题. 只是在XCode4.2的ARC环境中使用的时候, 错误一把. 借此机会, 完整的记录一下如何排除错误, 及使用的方法.
首先第一步当然是下载这个下拉更新的框架了. https://github.com/enormego/EGOTableViewPullRefresh/downloads
下载之后解包, 然后将
EGORefreshTableHeaderDelegate.h
EGORefreshTableHeaderDelegate.m
这两个文件, 以及项目中的图片文件都复制到你的项目文件内, 这时候, 如果你启用了ARC, 应该会报一片错误, 让我们来具体看一下.
启用了ARC之后, 就不允许手动的release了, 因此, [view release], [lable release] 还有 autorelease这样的代码都需要删除掉.
在EGORefreshTableHeaderDelegate.m的这个文件中, @synthesize delegate=_delegate; 会报错, "
解决办法是需要将EGORefreshTableHeaderDelegate.h文件中的 assign 换为retain
//@property(nonatomic,assign) id <egorefreshtableheaderdelegate> delegate; //删除掉. 换为下面的 @property(nonatomic,retain)id <egorefreshtableheaderdelegate> delegate;</egorefreshtableheaderdelegate></egorefreshtableheaderdelegate>
这样代码就会通过编译了~ 这样就需要将EGORefreshTableHeaderView与我们的tableview整合了, 然后按照Demo的方法,
添加EGORefreshTableHeaderDelegate的接口,
定义_reloading, 和EGORefreshHeaderView
声明reloadTableViewDataSource和doneLoadingTableView这两个函数
#import <uikit> #import "EGORefreshTableHeaderView.h" @interface FMFutureMessage : UIViewController<uitableviewdelegate uitableviewdatasource> { BOOL _reloading; EGORefreshTableHeaderView *_refreshHeaderView; } @property(strong, nonatomic) IBOutlet UITableView *tbView; -(void)reloadTableViewDataSource; -(void)doneLoadingTableViewData; @end</uitableviewdelegate></uikit>
接下来, 我们需要将xib文件中的TableViewController与这里定义的tbView建立关联, 因为我忘记了指定tbView与XIB中的TabViewController, 导致了刷新箭头怎么样也显示不出来, 所以一定不要忘记啊~~~~
现在我们处理一下.m文件
处理m文件, 建立关联.和响应事件.
- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view from its nib. if(_refreshHeaderView == nil) { EGORefreshTableHeaderView *view = [[EGORefreshTableHeaderView alloc] initWithFrame:CGRectMake(0.0f, 0.0f - self.tbView.bounds.size.height, self.view.frame.size.width, self.tbView.bounds.size.height)]; view.delegate = self; [self.tbView addSubview:view]; _refreshHeaderView = view; } [_refreshHeaderView refreshLastUpdatedDate]; }
-(void)reloadTableViewDataSource { NSLog(@"==开始加载数据"); [self.tbView reloadData]; _reloading = YES; } - (void)doneLoadingTableViewData{ NSLog(@"===加载完数据"); // model should call this when its done loading _reloading = NO; [_refreshHeaderView egoRefreshScrollViewDataSourceDidFinishedLoading:self.tbView]; } #pragma mark – #pragma mark UIScrollViewDelegate Methods - (void)scrollViewDidScroll:(UIScrollView *)scrollView{ [_refreshHeaderView egoRefreshScrollViewDidScroll:scrollView]; } - (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate{ [_refreshHeaderView egoRefreshScrollViewDidEndDragging:scrollView]; } #pragma mark – #pragma mark EGORefreshTableHeaderDelegate Methods - (void)egoRefreshTableHeaderDidTriggerRefresh:(EGORefreshTableHeaderView*)view{ [self reloadTableViewDataSource]; [self performSelector:@selector(doneLoadingTableViewData) withObject:nil afterDelay:3.0]; } - (BOOL)egoRefreshTableHeaderDataSourceIsLoading:(EGORefreshTableHeaderView*)view{ return _reloading; // should return if data source model is reloading } - (NSDate*)egoRefreshTableHeaderDataSourceLastUpdated:(EGORefreshTableHeaderView*)view{ return [NSDate date]; // should return date data source was last changed }
最后, 如果是开发中文应用程序, 不要忘记进入EGORefreshTableHeaderView.m中, 将提示的英文换成中文.
好了, 完成~~~

win7补丁包(UpdatePack7)是俄罗斯大神制作的一款Win7系统补丁自动安装精灵,它支持Win764位和32位,集成了Win7发布至今所有补丁,还包含了NVME协议补丁,USB3.0补丁等等。win7补丁包(UpdatePack7)【64位+32位】下载UpdatePack7参数介绍/NVMe(集成NVMe驱动)/S(静默安装,不更改IE版本,不重启)/Silent(自动安装,界面显示安装进度)/Temp(指定释放路径到临时文件夹)/IE11(更新安装InternetExplorer1

PHP和REDIS:如何实现分布式缓存失效与更新引言:在现代的分布式系统中,缓存是一个非常重要的组件,它可以显著提高系统的性能和可扩展性。与此同时,缓存的失效与更新也是一个非常重要的问题,因为如果无法正确地处理缓存数据的失效与更新,就会导致系统数据的不一致。本文将介绍如何使用PHP和REDIS实现分布式缓存失效与更新,同时提供相关的代码示例。一、什么是RED

win10电脑老是提醒更新重启怎么办?win10的更新问题一直是大家比较头疼的,无论是更新前还是更新后,系统老是提醒更新重启,十分烦人。其实我们只要将对应服务关闭就可以了,下面就一起来看看具体方法吧。win10电脑老是提醒更新重启解决办法一、更新前提示1、首先我们在开始菜单中打开设置。2、选择更新和安全。3、再点击高级选项。4、将更新通知关闭即可。二、更新后提醒1、其实我们在完成更新之后,系统也有可能会老是提醒我们重启。2、这时候我们需要先右键计算机,选择理3、在系统工具中找到图所示。4、然后我

Vue是一个流行的JavaScript框架,它通过使用组件化开发模式,使得我们可以轻松地构建可重用的交互式用户界面。但是某些情况下,我们需要手动更新组件而不是等待数据驱动更新,这时候可以使用Vue提供的$forceUpdate方法。在这篇文章中,我们将详细讨论Vue中如何使用$forceUpdate方法强制更新组件。Vue组件的渲染是由Vue的响应式系统驱动

Win11bios怎么更新?更新BIOS可以支持最新的硬件,也可以对以往的一些硬件进行优化。近期有部分Win11用户想要更新BIOS,但是不太清楚应该如何操作,对于这一情况,下面小编为大家带来了详细的Win11更新bios的方法,我们一起来看看吧。 Win11更新bios的方法 在进行更新之前,您需要执行一些任务。首先,您需要检查您的BIOS版本并记下它。然后,您可以继续为您的特定系统下载正确的BIOS。 1、检查您的BIOS版本 同时按下Windows和R键。 键入msinfo3

CakePHP是一个流行的PHP框架,它提供了方便的ORM(对象关系映射)功能,使得查询和更新数据库变得非常容易。本文将介绍如何在CakePHP中进行数据查询和更新。我们将从简单的查询和更新开始,逐步深入,了解如何使用条件和关联的模型来更复杂地查询和更新数据。基本查询首先,让我们看看如何进行最简单的查询。假设我们有一个名为“Users”的数据表,并且我们想要

微软6月24号正式公布了win11系统,可以看到用户界面、开始菜单等和Windows10X中发现的非常相似。有的朋友在使用预览版的时候发现用的不习惯,想要改win10系统开使用,那么我们要如何操作呢,下面我们就来看看win11改win10系统教程,一起来学习一下吧。1、第一步是从Windows11打开新设置。在这里,您需要转到图像中显示的系统设置。2、在系统设置下,选择“恢复”选项。在这里,您将能够看到“以前版本的窗口”选项。您还可以在它旁边看到一个“返回”按钮,单击此按钮。3、您可以指定要返回

win10更新后无法开机解决方法:1、通过“启动修复”进行自动修复;2、通过命令提示符检查和修复;3、进入安全模式以卸载Windows更新;4、使用命令提示符修复MBR;5、检查系统盘是否有坏扇区并进行修复;6、进行系统恢复。


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Safe Exam Browser
Safe Exam Browser is a secure browser environment for taking online exams securely. This software turns any computer into a secure workstation. It controls access to any utility and prevents students from using unauthorized resources.

SecLists
SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.

SublimeText3 Mac version
God-level code editing software (SublimeText3)

ZendStudio 13.5.1 Mac
Powerful PHP integrated development environment

SublimeText3 English version
Recommended: Win version, supports code prompts!
