0

这是简短的代码:

 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: 方法指示。我该怎么做?我需要通过指针传递吗?谢谢。

4

2 回答 2

1

将指针传递给枚举。您的方法应如下所示:

-(void)foo:(myDatatype*)type
{
     *type = type2; 
}

和方法的调用:[self foo:&self.dataType]

于 2013-11-11T20:59:10.070 回答
0

您已经设置了dataType变量property

 @property (nonatomic, assign) myDataType dataType;

因此,您可以在类中的任何方法中简单地访问该变量。将它作为参数或其指针传递的需要是什么?

-(void)foo {
  self.dataType = type2;
}
于 2013-11-12T04:06:43.693 回答