当我使用下面的代码时,我得到一个EXC_BAD_ACCESS(代码= 2 …)
-(ID)performSelector:(SEL)aSelector withObject:(ID)object1 withObject:(ID)object2{ // Do something return [super performSelector:aSelector withObject:object1 withObject:object2];}
我的猜测是我错误地试图覆盖performSelector :(有另一种方式吗?)或错误地调用super方法.
在寻找解决方案3小时后,我什么都没发现.任何帮助是极大的赞赏.
更新:
以下作品:
@implementation CustombarbuttonItem- (voID)setTarget:(ID)target{ _realTarget = target; super.target = self;}- (voID)setAction:(SEL)action{ _realAction = action; super.action = @selector(pressed);}- (voID)pressed{ [self doCustom]; // implement this somewhere [_realTarget performSelector:_realAction withObject:nil afterDelay:0];}
不幸的是,我想通过设置self.customVIEw = nil来切换拥有一个customVIEw和普通的UIbarbuttonItem,这有时只能工作.但这是一个完整的问题.谢谢大家.
我会再等一会儿,选择最佳答案,看看是否有更好的解决方案.
解决方法 使用简单的UIVIEw实现此功能可能更好,您可以以任何给定的方式进行修改.UIbarbuttonItem确实提供了一种基于自定义UIVIEw进行初始化的方法:
– (ID)initWithCustomVIEw:(UIVIEw *)customVIEw
然后,您可以告诉UIVIEw根据UIbarbuttonItem触发的触摸事件更改其外观.
总结以上是内存溢出为你收集整理的objective-c – 重写-performSelector:在UIBarButtonItem子类中全部内容,希望文章能够帮你解决objective-c – 重写-performSelector:在UIBarButtonItem子类中所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)