ios - 以编程方式调用方法名称为 -(void)animatePageX 的方法的最佳实践,其中 x =1 到 25

标签 ios cocoa-touch dynamic

我正在使用 Leaves 制作一本 child 读物。我想为每个页面播放不同的动画图像和声音。我已经想出如何制作动画,我有一种方法可以为每个页面传递所有动画对象。但是每一页都如此不同,以至于我最终要为每一页编写不同的方法。我有一个 pageNum var,我想调用每个页面方法,第 5 页动画方法将是 -(void)animatePage5,依此类推。

但我不知道如何构建方法调用,以便其中包含 pageNum 对象。

我知道这很容易,但我无法在谷歌上找到答案,或者堆栈溢出。

我可能离森林太近而看不到树木。

这种方法调用的简单最佳实践是什么。

感谢您帮助菜鸟....

最佳答案

我不知道有什么“简单”的解决方案,我以前肯定不需要这个。

我认为这是您正在寻找的步骤,但我会考虑重构您的代码,以便该方法采用其他答案中建议的参数:-(void)animatePage:(int)页面

NSString *selectorName = [NSString stringWithFormat:@"animatePage%d", pageNumber];
SEL s = NSSelectorFromString(selectorName);
if ([self respondsToSelector:s]) [self performSelector:s];

关于ios - 以编程方式调用方法名称为 -(void)animatePageX 的方法的最佳实践,其中 x =1 到 25,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7808658/

相关文章:

ios - UITableView 在scrollToRow 上跳转?

ios - 导航栏背景颜色

iphone - 如何为具有 splitview Controller 的应用程序提供登录屏幕?

iphone - NSUserDefaults 中的 NSDate 问题

objective-c - 在 Cocoa-Touch 的 header 中放置 "const double NA = 1e-300"错误,但在 Cocoa 中则不然?

c# - 是否可以在 .NET 应用程序中运行 python?

c# - 动态的意外编译时错误

ios - NSAttributedString 中有两个空格,我的程序崩溃了

iphone - 你如何在没有自动释放的情况下管理释放在 iPhone 上的实例方法中创建的对象?

c# - TypeBuilder - 添加属性