[英]NSMutableArray not populating
我有一个简单的NSMutableArray,我试图存储一些对象。但是在NSLog中,数组的内容总是为空...我只是不明白为什么。 这是我的代码:
在我的头文件中:
NSMutableArray *dataFiles;
在viewDidLoad中:
dataFiles = [[NSMutableArray alloc] init];
稍后在我的代码中尝试将一个字符串添加到我的NSMutableArray:
[dataFiles insertObject:url atIndex:0]; // 'url' is an an NSURL.
我究竟做错了什么? 这总是我如何使用NSMutableArray的,为什么它们一下子都不起作用?
UPDATE
在添加到数组之前,我确实在“url”(NSURL)上执行了一个NSLog,它根本不是null。 这是输出:
THE URL: file:///var/mobile/Containers/Data/Application/E991FAFC-80DB-437B-B214-96720B1AA7AF/Documents/19Feb15_072308am.aif
更新2
我刚刚尝试了@Dheeraj Singh解决方案而且没有用:
if ([dataFiles count] == 0) {
[dataFiles addObject:url];
}
else {
[dataFiles insertObject:url atIndex:0];
}
NSLog(@"data in: %@", dataFiles);
谢谢你的时间,丹。
不确定是什么问题,但是下面(你的)代码对我来说工作正常。
NSMutableArray * arr = [[NSMutableArray alloc]init];
NSString *murl = @"file:///var/mobile/Containers/Data/Application/E991FAFC-80DB-437B-B214-96720B1AA7AF/Documents/19Feb15_072308am.aif";
NSURL *url = [NSURL URLWithString:murl];
[arr insertObject:url atIndex:0];
NSLog(@"Array is %@",arr);
Array is (
"file:///var/mobile/Containers/Data/Application/E991FAFC-80DB-437B-B214-96720B1AA7AF/Documents/19Feb15_072308am.aif"
)
我强烈感觉你正在使用NSArray来对抗NSMutableArray。 请确认一下。
您可以发布实际代码,以便我们可以告诉您发生了什么吗?
好好玩了一下后,我发现了什么是“错误的”或至少是什么阻止了我的代码工作。 这是因为在我在viewDidLoad方法中初始化NSMutableArray之前。 一旦我将NSMutableArray初始化代码移动到我想将数据写入其中的方法,它就开始工作了。 谁知道为什么? 这是我现在的代码:
// Initialise the audio arrays.
// Originally this line was in the viewDidLoad.
dataFiles = [[NSMutableArray alloc] init];
if ([dataFiles count] == 0) {
[dataFiles addObject:url];
}
else {
[dataFiles insertObject:url atIndex:0];
}
你可以用以下方式做:
NSMutableArray * arr = [[NSMutableArray alloc]init];
NSString *url = @"www.test.com";
[arr addObject:url];
NSLog(@"Count of Array is %i",[arr count]);
*** if you want to add multiple items then you can do by following way
for (int i =0; i < 5; i++) {
[arr addObject:@"Hello"];
}
NSLog(@"Count of array is %i",[arr count]);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.