我知道它支持自动变量,但类变量呢?Objective-C是否支持类变量?
回答
该语言不支持类变量。您可以在实现的编译单元中使用全局变量static
实现特定于类的状态。
在报头(h文件):
@interface MyClass : NSObject
+(int)val;
@end
在实施(.m文件):
static int val = 123;
@implementation MyClass
+(int)val {return val;}
@end
用法:
if ([MyClass val] > 100) ...
这种语言必须销毁) – user924
@ user924对于所有实际用途,语言已经死亡。 [你错过了备忘录吗?](https://developer.apple。com/swift /) – dasblinkenlight
我知道,但我需要使用OpenCV,在这里我们再次使用Objective-C – user924
ObjC类变量是纯旧的静态变量。
Foo.m
:
Foo.mm
:
namespace {
int foo = 0;
}
但还有另一种模式,如果你想受益
static int foo = 0;
或者,你可以,如果你使用ObjC++使用C++匿名命名空间来自物业的优势:
Foo.h
:
@interface FooShared
@property (atomic, readwrite, strong) Foo* foo;
@end
@interface Foo
+ (FooShared*) shared;
@end
Foo.m
:
@implementation FooShared
@end
static fooShared* = nil;
@implementation Foo
+ (FooShared*) shared
{
if (fooShared == nil) fooShared = [FooShared new];
return fooShared;
}
@end
somewhere.m
:
Foo* foo …;
foo.shared.foo = …;
它可能看起来有点大材小用,但它是一个有趣的解决方案。您对实例属性和“类”属性使用相同的构造和语言功能。需求时的原子性,需要时的访问器,调试,断点...甚至是继承。
创意思维可以找到其他方法来做到这一切我想。 :)但你几乎覆盖了这些选项。
@property (class, nonatomic, copy) NSString *someStringProperty;
但是你必须提供getter和setter
从Xcode的8发布说明: 的Objective-C现在支持类属性,这与雨燕特性互操作。它们被声明为:@property(class)NSString * someStringProperty ;.他们从未合成过。 (23891898)
- 1. R是否支持8位变量?
- 2. ColdFusion是否支持常量?
- 3. Automator变量是否持久?
- 4. 支持表变量
- 5. 类变量是否可变?
- 6. iOS中是否支持渐变字体?
- 7. 是否支持has_and_belongs_to_many上的变体?
- 8. Vim是否支持“可变选项卡”?
- 9. Imagick是否支持径向渐变?
- 10. Sonarqube是否支持Xamarin代码质量?
- 11. OpenJPA是否支持批量插入?
- 12. Anorm是否支持批量插入?
- 13. ObjectiveC中的静态变量
- 14. 是否支持MSNP9?
- 15. 是否支持DataGrid?
- 16. 是否支持ARC?
- 17. Doxygen配置文件是否支持变量?
- 18. ofstream variable.open是否支持预定义的字符串变量?
- 19. C#是否支持可变数量的参数,以及如何?
- 20. Git Jenkins插件是否支持存储库URL的变量?
- 21. Parallel :: ForkManager()模块是否支持全局变量的同步?
- 22. 模板是否支持可变数量的参数
- 23. BASH:它是否支持条件变量,如var =“test”?“1”:“2”
- 24. 变量是否支持logrotate配置文件?
- 25. SASS或LESS是否支持变量mixin参数?
- 26. intellij是否支持启动配置中的变量?
- 27. Typescript是否支持“子集类型”?
- 28. PHP的HTTP类是否支持javascript?
- 29. Diesel是否支持Postgres`point`类型?
- 30. python是否支持枚举类型?
[iPhone上的Objective C中的静态字符串变量]的可能重复(http://stackoverflow.com/questions/980083/static-string-variable-in-objective-c-on-iphone) –
http ://stackoverflow.com/questions/1063229/objective-c-static-class-level-variables –