@property (nonatomic, retain) NSMutableArray *filteredListContent;
----
@synthesize filteredListContent;
- (void)applicationDidFinishLaunching:(UIApplication *)application {
NSMutableArray *test = [[NSMutableArray alloc] init];
[test addObject:@"test string"];
[filteredListContent addObjectsFromArray:test];
NSLog(@"%@", test);
NSLog(@"Filtered Array is %@", filteredListContent);
[window makeKeyAndVisible];
}
My log for test显示'test string'但'Filtered list array is(null)'
如何使用数组测试...
设置数组'filteredListContent'我做错了什么? : - (
答案 0 :(得分:2)
您是否在任何地方创建并初始化filtersListContent?您的代码看起来正确,应该可以正常工作。
您还应确保释放test
变量,此处有内存泄漏。
答案 1 :(得分:0)
你必须实际创建filteredListContent,比如[[NSMutableArray alloc] init]。您得到的错误是您正在一个仍为零的对象上调用方法-addObjectsFromArray:,从未创建过。因此,它只返回nil,并且列表永远不会被过滤。
答案 2 :(得分:0)
filteredListContent是一个指向NSMutableArray的指针,它没有分配任何内存,因此你无法在其上调用方法。编译器不会生成错误,因为您正在将消息传递给nil
,这完全没问题。
答案 3 :(得分:-1)
Thanx。
所以我换了一行......
[filteredListContent addObjectsFromArray:test];
阅读...
filteredListContent = [NSMutableArray arrayWithArray:test];
这样做了。我想我现在明白了,虽然我声明了,但我从未创造过......
感谢名单。