我试图在整个应用程序中使用整数和文本。我是通过使用 DataClass 来这样做的,并且我已经得到了可以工作的整数。但是,我不确定如何使用文本。我很确定使用 UILabel 是不正确的。我将在下面向您展示我正在尝试做的事情:
DataClass.h
@interface DataClass : NSObject
{
int tôi;
UILabel *name;
}
@property(nonatomic,assign)int i;
@property(nonatomic,assign)UILabel *name;
+(DataClass*)getInstance;
@kết thúc
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;
}
@kết thúc
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)。有什么想法吗?
据我所知,您没有初始化 UILabel。因此,您将 setText 方法发送给 nil,这是有效的,但不会执行任何操作。
您真的需要 UILabel 来存储文本吗?
您可以轻松地将 UILabel 更改为 NSString,并将属性更改为:
@property(nonatomic,copy)NSString *name;
因此您可以使用以下方式为其设置新文本:
DataClass *obj=[DataClass getInstanceAgain];
obj.name = @"PleaseWork";
Tôi là một lập trình viên xuất sắc, rất giỏi!