objective-c – 为什么这个NSInvocation会引发异常?

objective-c – 为什么这个NSInvocation会引发异常?,第1张

概述我现在真的很头疼.因此,NSTimer对象,NSMethodSignature对象和NSInvocation对象将进入条形图.这是其余的笑话: NSMethodSignature *methodSig = [NSMethodSignature methodSignatureForSelector:@selector(setAlphaValue:)];NSInvocation *inv = [NS 我现在真的很头疼.因此,NSTimer对象,NSMethodSignature对象和NSInvocation对象将进入条形图.这是其余的笑话:

NSMethodSignature *methodSig = [NSMethodSignature methodSignatureForSelector:@selector(setAlphaValue:)];NSInvocation *inv = [NSInvocation invocationWithMethodSignature:methodSig];CGfloat AlphaVal = 1.f;[inv setSelector:@selector(setAlphaValue:)];[inv setTarget:tabVIEwItem.vIEw];[inv setArgument:&AlphaVal atIndex:2];NSTimer *timer = [NSTimer scheduledTimerWithTimeInterval:0.5f invocation:inv repeats:NO];

这是我在调试控制台中获得的内容:

+[NSInvocation _invocationWithMethodSignature:frame:]: method signature argument cannot be nil

编辑:我不确定为什么有人认为有必要对我的问题进行投票.很抱歉试图学习新东西.实际上,这是对我原来问题的修正:我应该采取哪些不同的做法?一旦我弄清楚我的问题是什么,我应该刚刚删除了帖子吗?我试图遵循所有的Stack Overflow礼仪,我甚至花时间给出一个可以帮助别人的机会.下一次,我应该回到我的问题并留下一个回应,比如“nvm ……想通了.你好吗?”或者我应该把它留在这里,没有答案?我肯定知道我已经厌倦了点击链接只能导致无人接听的帖子.

解决方法 哎呀.我跳了q. Xcode的代码完成让我觉得methodSignatureForSelector:是NSMethodSignature的类方法.每当我处理课程时,我通常不会经常搞乱,我通常先输入[NSClassImUnfamiliarWith,然后输入空格.这样做会调出Xcode的代码完成d出窗口,它通常具有可以调用的所有方法.我不小心从NSObject中选择了一个继承的(?)方法,认为它是一个类方法.我想这将是多态性的一个例子.无论如何,我通过用我的对象替换NSMethodSignature解决了我的问题:tabVIEwItem.vIEw.所以它们一起看起来像这样:

NSMethodSignature *methodSig = [tabVIEwItem.vIEw methodSignatureForSelector:@selector(setAlphaValue:)];

我不知道这是否会对其他人有所帮助,但通过高兴,我会发布这个以防万一.祝好运!

总结

以上是内存溢出为你收集整理的objective-c – 为什么这个NSInvocation会引发异常?全部内容,希望文章能够帮你解决objective-c – 为什么这个NSInvocation会引发异常?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1215622.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存