-1

编译器没有给我任何错误并且代码运行。只是好奇如何在添加新元素后检查数组的内容。

在我的 .h 文件中

@interface AddCardViewController : UIViewController <UITextFieldDelegate>

@property (strong, nonatomic) IBOutlet UITextField *cardNameTextField;

@end

在我的 .m 文件中

@interface AddCardViewController ()

@property (nonatomic, strong)NSMutableArray *nameOfCards;

@end

@implementation AddCardViewController 

@synthesize cardNameTextField = _cardNameTextField;

@synthesize nameOfCards = _nameOfCards;

- (NSMutableArray *)nameOfCards 
{
    if (!_nameOfCards)
           _nameOfCards = [[NSMutableArray alloc] init];

    return _nameOfCards;
}

- (IBAction)addNewCard:(id)sender {
    [_nameOfCards addObject:self.cardNameTextField.text];
}

@end
4

4 回答 4

1
- (IBAction)addNewCard
{
    [your_Array addObject:self.Your_textfeild.text];
}

数组应该是 NSmutable 数组。

于 2012-04-06T07:56:08.497 回答
1

当您使用延迟加载(即您在其 getter 方法中创建对象)时,您必须使用 getter 来访问该对象。不要通过它的实例变量访问对象!

- (IBAction)addNewCard:(id)sender {
    [self.nameOfCards addObject:self.cardNameTextField.text];
    NSLog(@"my array content: %@", self.nameOfCards);
}

这就是为什么你在实例变量前加上下划线。它告诉您不要直接使用实例变量,除非绝对必要。

于 2012-04-06T08:34:38.033 回答
1

改变

   - (IBAction)addNewCard:(id)sender {
       [_nameOfCards addObject:self.cardNameTextField.text];
   }

   - (IBAction)addNewCard:(id)sender {
       [self.nameOfCards addObject:self.cardNameTextField.text];
   }

之后,您可以在 NSLog 中看到您的数组;

   NSLog(@"%@", self.nameOfCards);
于 2012-04-06T08:39:11.543 回答
0

使用NSLog查看数组的内容,即NSLog(@"%@",_nameOfCards);

于 2012-04-06T07:25:59.427 回答