我想为坐标UIView创建全局变量如何正确的语法来做到这一点?Objective-C中的全局变量在ios proj
-1
A
回答
0
首先,你需要创建过NSObject类
给类名GlobalShareClass
GlobalShareClass.h
#import <Foundation/Foundation.h>
@interface GlobalShareClass : NSObject
{
}
@property (nonatomic) float xvalue
@property (nonatomic) float yvalue
+ (GlobalShareClass *)sharedInstance;
@end
GlobalShareClas.m
#import "GlobalShareClass.h"
static GlobalShareClass *_shareInstane;
@implementation GlobalShareClass
@synthesize xvalue;
@synthesize yvalue;
+ (GlobalShareClass *)sharedInstance
{
if (_shareInstane == nil)
{
_shareInstane = [[GlobalShareClass alloc] init];
}
return _shareInstane;
}
ViewController.h
#import <UIKit/UIKit.h>
#import "GlobalShareClass.h"
@interface ViewController : UIViewController
{
GlobalShareClass *globalShare;
}
@end;
ViewController.m
#import "ViewController.h"
@interface ViewController()
@end
@implementation ViewController
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
globalShare = [GlobalShareClass sharedInstance];
globalShare.xvalue = 50.0;
globalShare.xvalue = 100.0;
}
0
可能这里使用的正确的东西应该是一个类级别的属性。有关更多信息,请参阅here。
1
而不是使用两个浮点数的,我会建议在存储专门为这个制成的容器坐标:CGPoint
。
要在全球范围内使用它,您可以将其添加到单身人士(如在@ user3182143答案中),或者从您的班级公开它。
在你.m
,你可以把它定义为一个常数(既@interface
和@implementation
外)如下:
const CGPoint kMyCoordinate = {.x = 100, .y = 200};
为了其他类能够使用它,你需要公开它在.h
如下:
extern const CGPoint kMyCoordinate;
虽然你平时创建CGPoints
CGPointMake(x,y)
在这个特殊情况下,我们必须使用简写,否则Xcode会抱怨“初始化元素不是编译时常量”。
相关问题
- 1. iOS中的全局变量
- 2. iOS中的全局变量TabBarViewController
- 3. 区块的iOS修改全局变量
- 4. ObjectiveC中的静态变量
- 5. lotusscript中的全局变量如何全局变量IBM Notes 9
- 6. 局部变量的全局变量
- 7. java全局全局变量和用户全局变量
- 8. ios方法param指定全局变量
- 9. xcode和ios以及全局变量
- 10. 全局变量
- 11. 全局变量。
- 12. 全局变量
- 13. 全局变量
- 14. 全局变量
- 15. 全局变量
- 16. 全局变量
- 17. 全局变量
- 18. 全局变量
- 19. 全局变量
- 20. 全局变量
- 21. 全局变量
- 22. 全局变量
- 23. 全局变量
- 24. 全局变量
- 25. 全局变量
- 26. 全局变量?
- 27. 全局变量
- 28. JavaScript中的全局变量?
- 29. MySQL中的全局变量
- 30. JS中的全局变量
我认为你的答案是最方便的。我想过使用CGPoint。 –
在我的“.h”我添加@property(nonatomic,分配)CGPoint * lastScrollOffset;并在我的“.m”我必须打电话给他,并分配到当前位置我查看我是如何做猫? –
如果你想使用属性而不是类常量,那么在'.h'中定义属性:'@property(nonatomic)CGPoint myCoordinate;' 而在'.m'中:'self.myCoordinate = CGPointMake(100 ,200);' –