我怎么能问一个数组是否包含一个项目,如果它是[[NSArray alloc] initWithObjects:@“那些对象”自动执行。 这是我最喜欢的.h
@interface FavoriteViewController : UITableViewController {
NSMutableArray *favoritesArray;
NSMutableArray *didContain;
}
@property (nonatomic, retain) NSMutableArray *favoritesArray;
@property (nonatomic, retain) NSMutableArray *didContain;
这是.m
favoritesArray = [[NSMutableArray alloc]init];
didContain = [[NSMutableArray alloc]init];
if
([favoritesArray containsObject:@"one"])
{
[didContain addObject:@"one"];
}
并在详细视图controller.m中我有这段代码
[[NSMutableArray alloc] init];
[favoritesArray addObject: @"one"];
我让桌子工作但是没有出现......
答案 0 :(得分:0)
NSArray *yourArray = [[NSArray alloc] initWithObjects:@"Hello", @"World", nil];
NSMutableArray *didContain = [[NSArray alloc] init];
if([yourArray contains: @"Hello"])
{
[didContain addObject:@"Hello"];
}
或
NSArray *yourArray = [[NSArray alloc] initWithObjects:@"Hello", @"World", nil];
NSMutableArray *didContain = [[NSArray alloc] init];
[didContain addObject: [yourArray objectAtIndex:[yourArray indexOfObject:@"Hello"]];
所有这些以及更多内容都可以在apple docs中找到。请在下次首先进行谷歌搜索。祝你好运,希望这会有帮助。
答案 1 :(得分:0)
使用filteredArrayUsingPredicate:
请参阅NSArray Class Reference和Predicate Programming Guide
您似乎正在尝试在详细信息视图控制器中使用未初始化的属性。
通常,在init:
或viewDidLoad
方法实现中初始化属性然后在父视图控制器中显示视图之前,使用属性访问器设置属性
这一行:
// DetailViewController.m initializer code
[[NSMutableArray alloc] init]; // returned object is not used
应该是:
favoritesArray = [[NSMutableArray alloc] init]; // view controller initialization code
而不是叫这个:
[favoritesArray addObject:@"one"];
创建detailViewController后,将favoritesArray
设置为已过滤的数组
// FavoriteViewController.m
MyDetailViewController *dvc = [[MyDetailViewController alloc] initWithNibName:@"MyDetailViewController" bundle:nil];
// populate the array
[dvc setFavoritesArray:didContain];
// Assuming you are using a navigation controller
[navigationController pushViewController:dvc animated:YES];
[dvc release];