以下是简要代码:
enum datatype {
type1 = 0,
type2 = 1
} myDataType;
在.m文件中:
@property (nonatomic) myDataType dateType;
-(void)foo:(myDatatype)type
{
type = type2;
}
-(void)doSomething
{
self.dataType = type1;
[self foo:self.dataType]
NSLog(@"data type: %d), self.dataType);
}
打印输出始终为type1。我想将self.dataType更改为type2,如foo:方法所示。我该怎么做?我需要通过指针吗?感谢。
答案 0 :(得分:1)
将指针传递给枚举。您的方法应如下所示:
-(void)foo:(myDatatype*)type
{
*type = type2;
}
方法的来电:[self foo:&self.dataType]
答案 1 :(得分:0)
您已将dataType
变量设置为property
。
@property (nonatomic, assign) myDataType dataType;
因此,您只需在类中的任何方法中访问该变量即可。将它作为参数或指针传递的需要是什么?
-(void)foo {
self.dataType = type2;
}