Objective c 使用用户定义的类型(带有typedef)作为方法参数

Objective c 使用用户定义的类型(带有typedef)作为方法参数,objective-c,iphone,Objective C,Iphone,我用这段代码定义了一个新类型 typedef enum result { error, error1, erorr2, }result; 之后,我想实现一个以“result”作为参数的方法 - (void) setError:(result)errorNumber 这似乎是不允许的,并给我一个编译器错误 无法将用户定义的类型用作方法参数 在使用之前,需要导入包含typedef的头文件。例如: 文件1.h: typedef enum { a, b, c }

我用这段代码定义了一个新类型

typedef enum result 
{

     error,
     error1,
     erorr2,

}result;
之后,我想实现一个以“result”作为参数的方法

- (void) setError:(result)errorNumber
这似乎是不允许的,并给我一个编译器错误


无法将用户定义的类型用作方法参数

在使用之前,需要导入包含typedef的头文件。例如:

文件1.h:

typedef enum { a, b, c } resultType;
文件2.h:

#import "File1.h"

...


- (void) someMethod:(resultType)param;

File1.h
可以根据需要导入到任意多个头文件(或实现)中。

对不起,写入错误-(void)setTError:(result)errorNumber;但在这种情况下,它也会给我一个error@Luca你的打字机在哪里?它在同一个文件中吗?编译器错误消息是什么?仅当我尝试在另一个.h文件中使用某个方法的用户定义类型ad参数时,才会比较编译器错误。我已经导入了带有类型声明的.h文件…不能在另一个文件中使用它吗?导入带有类型定义的头文件?thanks@Luca我已经更改了答案(以及您的问题),以反映您添加的新信息。@Luca另外,一般来说,您应该包括实际的错误消息,而不是只说有错误消息。请告诉我们错误是什么?我已经在前缀文件中移动了tyoedef,所有操作都正常