如何在DataClass中的整个应用程序中使用某种文本?

时间:2011-05-25 20:05:09

标签: iphone objective-c xcode ios

我试图在整个应用程序中使用整数和文本。我是通过使用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)。有什么想法吗?

1 个答案:

答案 0 :(得分:2)

就我所见,你没有初始化UILabel。所以你要将setText方法发送到nil,这是有效但不会做任何事情。

你真的需要一个UILabel来存储文本吗?

您可以轻松地将UILabel更改为NSString,并将属性更改为:

@property(nonatomic,copy)NSString *name;

所以你可以用以下方法设置新文本:

DataClass *obj=[DataClass getInstanceAgain];  
obj.name = @"PleaseWork";