我试图在整个应用程序中使用整数和文本。我是通过使用DataClass这样做的,我已经得到了整数。但是,我不确定如何使用文本。我很确定使用UILabel是不正确的。我将向您展示我在下面尝试做的事情:
DataClass.h
@interface DataClass : NSObject
{
int i;
UILabel *name;
}
@property(nonatomic,assign)int i;
@property(nonatomic,assign)UILabel *name;
+(DataClass*)getInstance;
@end
DataClass.m
#import "DataClass.h"
@implementation DataClass
@synthesize i, name;
static DataClass *instance =nil;
+(DataClass *)getInstance
{
@synchronized(self)
{
if(instance==nil)
{
instance= [DataClass new];
}
}
return instance;
}
@end
StarsViewController.m
//I removed all unessential material for this question
#import "DataClass.h"
- (void)viewDidLoad
{
DataClass *obj=[DataClass getInstanceAgain];
obj.name.text = @"PleaseWork";
NSLog(@"%@", obj.name.text);
[super viewDidLoad];
}
在我的NSLog中,我得到了(null)。有什么想法吗?
答案 0 :(得分:2)
就我所见,你没有初始化UILabel。所以你要将setText方法发送到nil,这是有效但不会做任何事情。
你真的需要一个UILabel来存储文本吗?
您可以轻松地将UILabel更改为NSString,并将属性更改为:
@property(nonatomic,copy)NSString *name;
所以你可以用以下方法设置新文本:
DataClass *obj=[DataClass getInstanceAgain];
obj.name = @"PleaseWork";