如何将标签文本设置为数组值?

时间:2014-04-14 03:20:16

标签: objective-c arrays uilabel

我想将数组的值设置为标签。

数组声明:

//
//  ViewController.h
//  Cornell Notes
//
#import <UIKit/UIKit.h>

@interface ViewController : UIViewController{

    NSString *details[8][8];
    NSString *subtitles[8];
}

我不被允许这样做:

self.label.text = subtitles[0];

我该怎么做?

1 个答案:

答案 0 :(得分:0)

此:

@interface ViewController : UIViewController{

    NSString *details[8][8];
    NSString *subtitles[8];
}

应该是:

@interface ViewController : UIViewController

@property (strong, nonatomic) NSMutableArray *details;
@property (strong, nonatomic) NSMutableArray *subtitles;

你可以声明它与你的方式相似,但我相信这是当前首选的语法。其他人可能会纠正我。最重要的是我们声明NSMutableArray而不是NSString。你正在做C风格的声明,这些声明会有所不同。我选择NSMutableArray而不是NSArray,因为它看起来像你希望能够在运行时添加对象。

而且:

self.label.text = subtitles[0];

应该是:

if (!_subtitles) _subtitles = [NSMutableArray new];
[_subtitles insertObject:self.label.text atIndex:0];

这一行:

if (!_subtitles) _subtitles = [NSMutableArray new];

只是为了确保我们的_subtitles词典存在,如果存在,我们确保它不会被覆盖。 [NSMutableArray new]语法是我个人喜欢的,因为它看起来很干净;但是,许多人更喜欢[[NSMutableArray alloc]init]。只是这样你就知道了。