下面的代码正在运行,我可以在第二个屏幕上看到这些值。但是我在其他类中使用这种格式的不同变量。但是,如果在我用一个点键入类名后,它不会向我显示变量。我想不通。有什么方法可以将值传递给其他类。
InstallProfiler_2 *installProfiler2 = [[InstallProfiler_2 alloc] initWithNibName:@"InstallProfiler_2" bundle:nil];
installProfiler2.profilerType2 = profilerType;
[self.navigationController pushViewController:installProfiler2 animated:NO];
[installProfiler2 release];
最佳答案
确保:
- 您已导入类标题。
@property
声明在此 header 中,而不是类扩展。
@property
指的是 ivars 所以当你说
if after i type the classname with a dot
这个术语是不正确的,你的意思可能是在你开始输入指向类实例的变量名称之后。
A类.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/