Ios 填充NSMutableArray不起作用

Ios 填充NSMutableArray不起作用,ios,xcode,nsstring,nsmutablearray,Ios,Xcode,Nsstring,Nsmutablearray,嗨,我有一个实例变量NSMutable数组 我这样声明 @property (nonatomic, assign) NSMutableArray *list; 在viewDidLoad中,我实例化了它 self.list = [NSMutableArray array]; 然后,我创建一个由文本字段的文本组成的字符串,并将其添加到数组中 NSString * lines = [NSString stringWithFormat:@"%@,%@,%@,%@,%@", [self.crabTex

嗨,我有一个实例变量NSMutable数组

我这样声明

@property (nonatomic, assign) NSMutableArray *list;
在viewDidLoad中,我实例化了它

self.list = [NSMutableArray array];
然后,我创建一个由文本字段的文本组成的字符串,并将其添加到数组中

NSString * lines = [NSString stringWithFormat:@"%@,%@,%@,%@,%@", [self.crabText text], [self.trawlText text], [self.trapText text], [self.vesselText text], [self.lengthText text]];

    [self.list addObject:lines];
这是一个函数的一部分,该函数将不断向数组中添加文本字段的新值

NSString * lines = [NSString stringWithFormat:@"%@,%@,%@,%@,%@", [self.crabText text], [self.trawlText text], [self.trapText text], [self.vesselText text], [self.lengthText text]];

    [self.list addObject:lines];
我使用

int i;
    int count;
    for (i = 0, count = [self.list count]; i < count; i = i + 1)
    {
        NSString *element = [self.list objectAtIndex:i];
        NSLog(@"The element at index %d in the array is: %@", i, element); // just replace the %@ by %d
    }
inti;
整数计数;
对于(i=0,count=[self.list count];i
但是,当我试图打印数组的内容时,应用程序崩溃,我得到

EXC\u错误\u访问\u代码

有什么想法吗


谢谢

如下替换您的声明:

@property (nonatomic, strong) NSMutableArray *list; // strong and not assign
在viewDidLoad中初始化数组:

self.list = [NSMutableArray array];
并逐个添加您的字符串:

[self.list addObject:self.crabText.text];
[self.list addObject:self.trawlText.text];
....
接下来,修改for循环:

for (int i = 0, i < self.list.count, i++)
{
    NSLog(@"The element at index %d in the array is: %@", i, [self.list objectAtIndex:i]);
}
for(int i=0,i
如下替换您的声明:

@property (nonatomic, strong) NSMutableArray *list; // strong and not assign
在viewDidLoad中初始化数组:

self.list = [NSMutableArray array];
并逐个添加您的字符串:

[self.list addObject:self.crabText.text];
[self.list addObject:self.trawlText.text];
....
接下来,修改for循环:

for (int i = 0, i < self.list.count, i++)
{
    NSLog(@"The element at index %d in the array is: %@", i, [self.list objectAtIndex:i]);
}
for(int i=0,i
如下替换您的声明:

@property (nonatomic, strong) NSMutableArray *list; // strong and not assign
在viewDidLoad中初始化数组:

self.list = [NSMutableArray array];
并逐个添加您的字符串:

[self.list addObject:self.crabText.text];
[self.list addObject:self.trawlText.text];
....
接下来,修改for循环:

for (int i = 0, i < self.list.count, i++)
{
    NSLog(@"The element at index %d in the array is: %@", i, [self.list objectAtIndex:i]);
}
for(int i=0,i
如下替换您的声明:

@property (nonatomic, strong) NSMutableArray *list; // strong and not assign
在viewDidLoad中初始化数组:

self.list = [NSMutableArray array];
并逐个添加您的字符串:

[self.list addObject:self.crabText.text];
[self.list addObject:self.trawlText.text];
....
接下来,修改for循环:

for (int i = 0, i < self.list.count, i++)
{
    NSLog(@"The element at index %d in the array is: %@", i, [self.list objectAtIndex:i]);
}
for(int i=0,i
另一种方法是在头文件中以这种方式声明数组

@interface yourViewController : UIViewController
{
    NSMutableArray* list;
}
@end
然后在视图中加载

list = [[NSMutableArray alloc] init];

正如乔丹所说,其他一切都可以做到。尽管我不确定这两种实现之间的性能是否存在差异

另一种方法是在头文件中以这种方式声明数组

@interface yourViewController : UIViewController
{
    NSMutableArray* list;
}
@end
然后在视图中加载

list = [[NSMutableArray alloc] init];

正如乔丹所说,其他一切都可以做到。尽管我不确定这两种实现之间的性能是否存在差异

另一种方法是在头文件中以这种方式声明数组

@interface yourViewController : UIViewController
{
    NSMutableArray* list;
}
@end
然后在视图中加载

list = [[NSMutableArray alloc] init];

正如乔丹所说,其他一切都可以做到。尽管我不确定这两种实现之间的性能是否存在差异

另一种方法是在头文件中以这种方式声明数组

@interface yourViewController : UIViewController
{
    NSMutableArray* list;
}
@end
然后在视图中加载

list = [[NSMutableArray alloc] init];

正如乔丹所说,其他一切都可以做到。尽管我不确定这两种实现之间的性能是否存在差异

将分配更改为strong完成了此操作。但为什么呢?因为赋值是给基元变量的。但是,看看这里,了解如何使用它,并将其分配给strong。但为什么呢?因为赋值是给基元变量的。但是,看看这里,了解如何使用它,并将其分配给strong。但为什么呢?因为赋值是给基元变量的。但是,看看这里,了解如何使用它,并将其分配给strong。但为什么呢?因为赋值是给基元变量的。但是,看看这里,了解如何使用它