发送NSNumber到另一个类方法-目标C

大卫·比加(David Biga)

我在将NSInteger课程发送到另一堂课时遇到麻烦这是我在做什么。

- (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath
{
    UITableViewCell *cell = [collectionView cellForItemAtIndexPath:indexPath];
    NSInteger tag = cell.tag;
    impact* myScript = [[impact alloc] init];
    [myScript startProcess:tag];
}

在此,我向NSInteger影响的startProcess方法发送一个问题是通过它发送时出现以下错误:

No visible @interface for 'impact' declares the selector 'startProcess:'

但问题是我正在定义startProcess方法。

这是impact.h文件:

-(NSInteger *)startProcess;

这是impact.m文件:

#pragma mark - Table view delegate
- (void)startProcess:(NSInteger **)number {
    [UITableView reloadData];

}

因此,回顾一下,我试图将an发送NSInteger给另一个类的方法,而不是重新加载整个表。现在确定为什么我会收到此错误。

建议,想法?

德鲁格

您走在正确的道路上,但是您会注意到两个主要问题:

  1. 头文件中的声明与实现文件中的实现不匹配。方法的基本格式为:- (ReturnType)methodName:(<ParamType>)paramName;在标头中,您定义的方法不带参数,并且返回NSInteger *在实现文件中,您将定义一个采用且不NSInteger **返回任何值(void)的方法。实施文件中的版本更接近您想要的版本。

  2. NSInteger不是一个类,而是一个简单的类型。您不必像对象一样通过引用传递它,因此只需将参数指定NSIntegerNSInteger *或即可。NSInteger **

这使您可以在标头中包含以下代码:

- (void)startProcess:(NSInteger)number;

以及此代码在实现文件中

- (void)startProcess:(NSInteger)number {
    [UITableView reloadData];
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Mockito-在目标类方法中验证另一个对象的方法调用

C ++将成员函数引用从一个类实例传递到另一个类实例

将指针类方法作为参数传递给另一个类方法C ++

C ++ dynamic_cast一个模板类到另一个模板

从一个用户定义的类到另一个存在返回问题的类的转换。(C#)

转换结构化列表c ++将列表从一个类传递到另一个

从另一个类访问NSMutableArray-目标C

C ++从另一个类访问类成员

目标-c:将目录复制到另一个

c#将事件的参数从另一个类传递到主类

从ViewController发送大对象到目标C,iOS中的另一个对象?

Objective-C-NSTimer:无法识别的选择器发送给类-另一个类的调用方法

目标C将数组复制到另一个索引为1的数组

目标C-如何从另一个类(另一个UIViewController)更改图像

如何在C ++中将指向一个类的指针复制到另一个类中?

更新另一个类别目标c的变量

从另一个类/控制器(IOS,目标c)获取字符串时,张开耳朵的文本到语音(语音)不起作用

在IOS中从一个视图导航到另一个视图(目标c)

将类的方法作为参数传递给C ++中的另一个类

从一个方法获取 int 值到另一个 C#

将值设置为另一个类的属性的类对象 - 目标 c

目标 C:如何访问 AppDelegate 中另一个类中声明的类?

使用 C# 静态类作为将数据从一个 azure 函数共享到另一个函数的方法是否安全?

从另一个类访问 C# 类

C#:将类的实例从一个模块传递到另一个模块

稍后在 C++ 中的另一个类方法中调用类构造函数

C#通过一个方法添加控件,从另一个类开始

C#类看不到另一个类的静态方法

如何从 C# 中的另一个方法引用一个类?