gpt4 book ai didi

iphone - Objective-C 中的公共(public)范围?

转载 作者:太空狗 更新时间:2023-10-30 03:48:31 25 4
gpt4 key购买 nike

我敢肯定这是一个简单的问题,但到目前为止一直难以捉摸,我很难过......

我如何声明一个 Ivar 以便它可以从项目中的所有类访问?

[不知道这是否重要,但有问题的 ivar 是我的 Model 类的(实例),其数据需要可供各种 View Controller 访问。]

据我所知,最好的是 "The Scope of Instance Variables”Objective-C 2.0 编程语言...这将通过使用“@public”指令。

所以我在声明 ivar 的@interface block 中尝试了这个:

@interface ...

...

@public
ModelClass *theModel;

@end

...但是当我尝试在不同的类中引用“theModel”时,编译器不会自动完成,当我输入它时,编译器会显示:“错误:‘theModel’未声明(首次在此函数中使用)”。

我假设这是一个作用域问题,并且我没有适本地使 ivar 可用,但是怎么做呢?我需要以某种方式访问​​它,或以某种方式使其指针可用。

任何想法将不胜感激。非常感谢!

最佳答案

也许您忘记将实例变量放在所有实例变量声明所在的类的大括号内?

@interface Foo : NSObject {

// other instance variable declarations

@public
ModelClass *theModel;
}

// method and property declarations

@end

此外,您能否向我们展示您如何尝试从其他地方访问实例变量的代码?正确的语法应该是:

myFooInstance->theModel

其中 myFooInstance 是“Foo *”类型的值

关于iphone - Objective-C 中的公共(public)范围?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1056694/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com