ios-关于IOS协议代理方法自动调用问题?

问题描述

关于IOS协议代理方法自动调用问题?

各位大牛好,
想问一个关于IOS协议代理的问题:
是否通过遵守某个协议,实现了其中的方法,对于这些方法来说,大多数情况下是
视图对象对其进行自动调用的吗?
例如:当表格不知道自己的行高,就去找实现了相关方法的代理?找它实现的相关方法
来自动获得行高?

小弟不太理解代理与协议方面的知识,希望可以有大牛解答,谢谢。

解决方案

你理解的不错,的确是这样,但是少了一步。除了遵守协议,实现方法之外,还要把自身设置成被委托对象。。。。.delegate =self ....。少了这一步就不会自动调用这些方法了。好好理解一下委托的原理吧。

解决方案二:

你要明白谁去调用协议方法,谁去实现协议方法。如果你说的是tableview的话。那协议方法是设置cell的行高的。如果你要用[self.delegate tableView heightForRowAtIndexPath:]来获取行高的话是不现实的。你可打印cell的高度来获取行高

解决方案三:

在线等大牛解答~~!!!!!!!

解决方案四:

你要明白谁去调用协议方法,谁去实现协议方法。如果你说的是tableview的话。那协议方法是设置cell的行高的。如果你要用[self.delegate tableView heightForRowAtIndexPath:]来获取行高的话是不现实的。你可打印cell的高度来获取行高

解决方案五:

我写了代理方法,也挂上了代理,但是代理方法还是不会走,是什么个问题

解决方案六:

我写了代理方法,也挂上了代理,但是代理方法还是不会走,是什么个问题

时间: 2024-10-28 15:23:48

ios-关于IOS协议代理方法自动调用问题?的相关文章

[已解决] IChatManagerDelegate 代理方法不调用

问题描述 [[EaseMob sharedInstance].chatManager addDelegate:self delegateQueue:nil];代理已经声明, 可是"didReceiveMessage, didReceiveBuddyRequest" 这两个方法都没走, 请问大神该怎么解决? 解决方案 那就检查一下  你测试的两个账号是不是在同一个appKey下    有没有黑名单的关系.

ios应用UIApplication前后台切换代理方法在不同ios系统下的差异

对于一个完善的应用来说,需要在UIApplication的各个代理方法里进行相应的处理,特别是前后台切换时一般需要进行一些特定的操作:而对于不同版本的ios系统,其代理方法居然也存在着一些差异,不由得让人大跌眼镜. IOS4: // Pressing the home button Will resign active. Did enter background. // Tapping app icon on Springboard Will enter foreground. Did beco

iOS流布局UICollectionView系列二——UICollectionView的代理方法

iOS流布局UICollectionView系列二--UICollectionView的代理方法 一.引言         在上一篇博客中,介绍了最基本的UICollectionView的使用和其中我们常用的属性和方法,也介绍了瀑布流布局的过程与思路,这篇博客是上一篇的补充,来讨论关于UICollectionView的代理方法的使用.博客地址: UICollectionView的简介和简单使用:http://my.oschina.net/u/2340880/blog/522613 二.UICol

iOS UITableView代理方法详解

IOS UITableView的代理方法详解 一.补充 在上一篇博客中,http://my.oschina.net/u/2340880/blog/404605,我将IOS中tableView(表视图)的一些常用方法总结了一下,这篇将tableView的代理方法作了总结,对上一篇博客进行了补充. 二.UITableViewDataSourc(数据源代理) 1.必须实现的回调方法 返回每个分区的行数 - (NSInteger)tableView:(UITableView *)tableView nu

iOS 捕获未知方法的调用,避勉抛出异常

iOS 捕获未知方法的调用,避勉抛出异常 太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS.Android.Html5.Arduino.pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作. NSObject 对象是 Objecitve-C 中的根类,其有以下两个方法,在调用 NSObject

iOS 支付宝 微信支付 集成 支付成功不执行代理方法

iOS 支付宝或微信支付当支付成功后都会在AppDelegate中调用 - (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url; - (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)anno

iOS不自定义UICollectionViewCell直接在代理方法实现

众所周知,collectionView在数据源方法中,需要加入自定义的cell,有时候一个简单的cell,只需要很简单的UI,这时候自定义,就显得多此一举,在此,推荐一种自定义方法.可以解决重用问题,还能快速创建. UICollectionView 和 UICollectionViewController 类是iOS6 新引进的API,用于展示集合视图,布局更加灵活,可实现多列布局,用法类似于UITableView 和 UITableViewController 类. 使用UICollectio

iOS手势识别的详细使用方法(拖动,缩放,旋转,点击,手势依赖,自定义手势)_IOS

手势识别在iOS上非常重要,手势操作移动设备的重要特征,极大的增加了移动设备使用便捷性. 1.UIGestureRecognizer介绍 手势识别在iOS上非常重要,手势操作移动设备的重要特征,极大的增加了移动设备使用便捷性. iOS系统在3.2以后,为方便开发这使用一些常用的手势,提供了UIGestureRecognizer类.手势识别UIGestureRecognizer类是个抽象类,下面的子类是具体的手势,开发这可以直接使用这些手势识别. UITapGestureRecognizer  U

ios-iOS中点击tableview的cell没有调用代理方法didSelectRow

问题描述 iOS中点击tableview的cell没有调用代理方法didSelectRow 我在控制器中创建一个tableview也给这个控制器设置了代理和数据源可是点击cell没有调用- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath; 解决方案 这个方法是UITableView的代理方法,你可以将tableView的delegate设置为控制器,然后在cotro