当前位置:  开发笔记 > IOS > 正文

我们如何更改方法中传递的结构值?

如何解决《我们如何更改方法中传递的结构值?》经验,为你挑选了1个好方法。

我想在方法中传递一个结构,所以我可以改变它的值,但我不太确定它的语法:

 struct qsTracker {
          int points;
          BOOL flagged;
 } myCurrentQs;

[self calculateScore:myCurentQs];

-(void) calculateScore:(struct qsTracker) currentQs  {
    currentQs.points++;
    currentQS.flagged = YES;
}

显然,currentQs没有看到任何变化.任何帮助将非常感激.



1> mipadi..:

您应该传入指向结构的指针,而不是结构本身:

-(void) calculateScore:(struct qsTracker *) currentQs  {
    currentQs->points++;
    currentQS->flagged = YES;
}

然后:

[self calculateScore:&myCurentQs];

因为currentQs现在是指针,所以在方法内部进行的更改将反映在方法之外.

推荐阅读
乐韵答题
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有