为什么这段代码不会将对象放在NSMultableArray中

时间:2013-12-15 22:50:13

标签: objective-c object nsmutablearray

[self.lines addObject: [[Line alloc] initWithPosition:CGPointMake([UIScreen mainScreen].bounds.size.width, _currentHeight)]];

for (Line *line in self.lines) {
    NSLog(@"d");
}

NSLog(@"k");

...这将显示K但不会显示和“D”s

以下是Line类的代码......

//Line.h
#import <Foundation/Foundation.h>

@interface Line : NSObject

@property(assign, nonatomic) int x, y;

- (id)initWithPosition:(CGPoint)pos;
- (void) minusFromX: (int)number;

@end

和另一个......

//Line.m
#import "Line.h"

@implementation Line

- (id)initWithPosition:(CGPoint)pos{

    self = [self init];
    if (self) {
        _y = pos.y;
        _x = pos.x;
    }
    return self;
}

-(void)minusFromX: (int)number{
    _x -= number;
}

@end

我道歉,因为这个问题是基于代码的,但我似乎无法找到解决方法。谢谢你的时间。

1 个答案:

答案 0 :(得分:0)

您必须在某处初始化数组,例如在视图控制器的initviewDidLoad方法中。

self.lines = [[NSMutableArray alloc] init];