如何访问其他类中的变量

菲尔

我正在尝试访问另一个类中的变量,但这给了我错误

在类型“ __strong id”的对象上找不到属性“ itemType”

基本上,我以此来初始化课程

 GameMsgs *warningMsg = [[GameMsgs alloc]initWithItem:@"remove_village-object-warning" andCallingMethod:self];

在GameMsgs中...

- (id)initWithItem:(NSString*)itemTypeP andCallingMethod:(id)callingMethod
{
    if ((self = [super init]))
    {
        sharedInstance = [SKGame sharedInstance];

        myCallingMethod = callingMethod;

...

但是,当我尝试访问myCallingMethod中的变量时,出现上述错误。这就是我试图访问它的方式...

 Text *valueT = [[Text alloc] initWithText:[[myCallingMethod.itemType objectForKey:@"templateKingdomObject"] objectForKey:@"removeCost"] withX:70 withY:60 withSize:14 withFieldWidth:100 withFieldHeight:30 withColour:0xffffff withFont:@"MarkerFelt-Thin"];

错误仅出现在itemType的开头。

myCallingMethod是一种ID。

我认为这很明显,但是我还是Obj-c的新手。

无泥的

您的变量callingMethod类型为“ id”。在Obj-C领域中,“ id”除表示基本内容的地址外,不表示其他任何内容。编译器不知道callingMethod对象的真实类型,因此假定它没有任何方法。您可以通过两种方式解决此问题:

更改方法声明以为“ callingMethod”变量合并一个实际的类

- (id)initWithItem:(NSString *)itemTypeP andCallingMethod:(YourClass *)callingMethod

或者通过在需要时将其强制转换为自己的类型。

Text *valueT = [[Text alloc] initWithText:[[((YourClass *)myCallingMethod).itemType objectForKey:@"templateKingdomObject"] objectForKey:@"removeCost"] withX:70 withY:60 withSize:14 withFieldWidth:100 withFieldHeight:30 withColour:0xffffff withFont:@"MarkerFelt-Thin"];

但这很丑。

所有这些都假设您的变量“ callingMethod”是一种类型,否则请查看协议

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何从Java中的其他类访问变量?

如何使用kivy从def中的其他类访问变量?

从其他类访问变量?

PHP如何从类内部的其他变量访问变量?

如何使用其他类中的变量?

如何在Java中的其他类中访问方法的变量?

如何在C ++中的其他类的方法中访问变量

如何使用扩展从其他类访问变量?

如何以可以从 C# 中的其他方法访问的方式存储随机类变量?

Codeigniter:如何在一个类中访问多个其他函数的多个变量?

从Java中的其他类访问私有变量

访问其他 Windows 窗体类 C# 中的变量

如何让变量依赖于类中的其他变量?

如何在Perl中设置类似Java的“静态变量”,其他类可以访问该静态变量?

如何在Flutter(DART)中访问其他类的方法?

如何在Qt中访问其他类的对象?

如何访问 Flash Builder 中的其他类

TypeScript如何访问其他类中定义的对象

如何访问objective c的其他模块中的swift类

如何从python中的其他函数访问变量

我如何从其他函数访问主函数中的变量

如何在Java中从其他类更改变量?

如何检查其他类中的变量是否已更新?

如何从其他类中调用变量和方法?

如何从其他类或方法中“提取”变量?

从python中的类外部访问类中的多个列表(或其他变量)

如何将数据从网络类提取到同一类的变量中,以便可以从ios中的其他类访问

如何从其他类访问的DefaultTableModel

Ansible:如何访问其他主机的变量?