下面的代码正在运行,我可以在第二个屏幕中看到这些值。但是我在其他具有这种格式的不同变量的类中使用相同的方法。但是,如果在我用点键入类名之后,它不会向我显示变量。我想不通。有没有办法将值传递给其他类。
InstallProfiler_2 *installProfiler2 = [[InstallProfiler_2 alloc] initWithNibName"InstallProfiler_2" bundle:nil];
installProfiler2.profilerType2 = profilerType;
[self.navigationController pushViewController:installProfiler2 animated:NO];
[installProfiler2 release];
Best Answer-推荐答案 strong>
确保:
- 您已导入类头。
@property 声明位于此 header 中,而不是类扩展。
@property 指的是 ivars 所以当你说
if after i type the classname with a dot
这个术语不正确,您可能是指在您开始输入指向类实例的变量名称之后。
ClassA.h
@interface ClassA : NSObject
@property (nonatomic, weak) NSInteger myInt;
@end
ClassA.m
@implementation ClassA
@synthesize myInt = _myInt;
@end
ClassB.m
#import "ClassA.h" // <- Import the header of the class
@ implementation ClassB
// .. other methods and stuff
- (void)myMethod;
{
ClassA *instanceOfClassA = [[ClassA alloc] init]; // <- Working with an instance not a class
instanceOfClassA.myInt = 1;
}
@end
更新
确保您的 @property () 在圆括号之间没有 readonly 。
还要确保您在实现中具有 @synthesize 的 ivar,或者为 ivar 同时提供了 getter 和 setter。
未能显示一些相关代码,因此我们实际上可以看到您在做什么 - 我们在这里非常盲目地回答。
关于objective-c - 如何在objective-c中为其他类变量赋值,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/8729258/
|