问题描述
|
我试图在整个应用程序中使用整数和文本。我通过使用DataClass来做到这一点,并且我已经获得了可以工作的整数。但是,我不确定如何使用文本。我很确定使用UILabel是不正确的。我将在下面告诉您我要做什么:
数据类
@interface DataClass : NSObject
{
int i;
UILabel *name;
}
@property(nonatomic,assign)int i;
@property(nonatomic,assign)UILabel *name;
+(DataClass*)getInstance;
@end
数据类
#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中,我得到了(空)。有任何想法吗?
解决方法
据我所知,您还没有初始化UILabel。因此,您将setText方法发送到nil,这是有效的,但不会执行任何操作。
您是否真的需要UILabel来存储文本?
您可以轻松地将UILabel更改为NSString,并将属性更改为:
@property(nonatomic,copy)NSString *name;
因此,您可以使用以下命令为其设置新文本:
DataClass *obj=[DataClass getInstanceAgain];
obj.name = @\"PleaseWork\";