Tag: nsmutablearray

从CoreData中删除条目后如何处理包含CoreData Entry的NSMutableArray,显示为“<fault>”

PersonsArray:NSMutableArray = ( "<null>", "<null>", "<null>", "<MyProject.Person: 0x7ffc5257d850> (entity: Person; id: 0xd000000000040000 <x-coredata://8DD0B78C-C624-4808-9231-1CB419EF8B50/Person/p1> ; data: {\n image = nil;\n name = dustin;\n})", "<null>", "<null>", "<null>", "<null>", "<null>") 如果用户删除了CoreData Entry(entity:Person; name = dustin) PersonsArray:NSMutableArray = ( "<null>", "<null>", "<null>", "<MyProject.Person: 0x7ffc5257d850> (entity: Person; id: 0xd000000000040000 <x-coredata://8DD0B78C-C624-4808-9231-1CB419EF8B50/Person/p1> ; data: <fault>)", "<null>", "<null>", "<null>", "<null>", "<null>") 如何检查PersonsArray的索引插槽PersonsArray包含此"<fault>"以便将其返回到"<null>" ? […]

目标c时使用NSDictionary而不是NSArray

就我应该使用的两个人而言,我处于一个两难的境地。 我将通过一个restful API(返回json)来检索一组数据,我不知道应该如何在我的UI View Table上显示它们之前将它们存储起来。 例如。 {"Events":[{"Id":5,"Name":"Event 1 2013"},{"Id":6,"Name":"Event 2 2013"}]} 我一直在阅读教程和一些会使用NSMutableArrays,而一些会使用NSMutableDictionary。 我应该怎么做呢? 顺便说一句:我显示的数据在用户界面视图表,将redirect用户到另一个页面,当他们决定返回将不得不显示前一个视图没有重新加载(使用UinavigationController) 谢谢! 编辑: 此外,只是给你一个想法,我想要做什么。 我试图按照这个教程分裂我得到部分头的数据。 在本教程中,它使用NSDictionary。 http://www.icodeblog.com/2010/12/10/implementing-uitableview-sections-from-an-nsarray-of-nsdictionary-objects/ 如果我使用NSArray,会影响性能?

如何删除具有相同的属性值,但在NSMutableArray中的一个对象

我有一个URLstring属性和标题的历史对象。 我想search包含searchstring的url的所有历史logging,然后删除所有重复项。 例如:我有一组历史对象,其中20个都是“ https://www.google.com ”,4个是“ https://www.google.com/#q=search ”,我想要只有一个对象的url值为“ https://www.google.com ”,一个url值为“ https://www.google.com/#q=search ”的数组返回 这是我当前的代码,它search历史logging并返回匹配string的所有对象: – (NSArray *)historyObjectsContainingQuery:(NSString *)query { NSMutableArray *matchingObjects = [[NSMutableArray alloc] init]; HistoryManager *HM = [HistoryManager sharedInstance]; for (int i=0; i<[[HM history] count]; i++) { //History "days" HistoryObject *historyItem = HistoryObject([[HistoryManager sharedInstance] history][i]); for (int o=0; o<[historyItem.objects count]; o++) { //Each object inn each […]

拆分NSMutableArray到其他NSMutableArrays

我有一个NSMutableArray有50个条目 – 是否有任何简单的方法将其分成5个NSMutableArrays,每个10个条目。

快速的方法来存储和检索Objective-C中的数字对

我正在实现排队洪水填充algorithm,并需要存储和检索NSMutableArray的数字对。 基本上,我正在创build一个数组 m_queue = [NSMutableArray array]; 然后在某个时候填充数组 [m_queue addObject:[NSValue valueWithCGPoint:CGPointMake(x + 1, y)]]; 然后我检索下一个迭代的数据,并删除数组的开始处的值 NSValue* value = [m_queue objectAtIndex:0]; [m_queue removeObjectAtIndex:0]; CGPoint nextPoint = [value CGPointValue]; [self queueFloodFill8:nextPoint.xy:nextPoint.y]; 问题是:我能做些什么来避免创build大量的CGPoint和NSValue对象? 我真的不需要点,algorithm使用成对的整数值,所以我认为可能有更好的方式来存储这样的对。 更新:我看着实施C风格的解决scheme,如@mattjgalloway和@CRDbuild议。 我介绍过 typedef struct lookup_point_struct { int x; int y; struct lookup_point_struct* next; } LookupPoint; 并重写了代码,以使用此类结构的链接列表而不是NSMutableArray和CGPoint / NSValue 。 所有这些使我的代码快了大约3倍。 内存消耗也大幅下降。

为什么你有时候会把一个NSArray转换成NSMutableArray,有时你不能呢?

特别: self.words = (NSMutableArray*)[self.text componentsSeparatedByString:@" "]; 只要有分离器就能正常工作。 但是我发现如果没有这个方法的话,这个方法会返回一个包装在NSArray中的原始string。 这个单独的元素NSArray固执地拒绝被转换为一个NSMutableArray。 但是,当我这样做: self.words = [NSMutableArray arrayWithArray:self.words]; 它工作得很好。 有什么我在这里失踪? 从NSArray投射到NSMutableArray是不好的做法吗?

NSMutableArray属性的初始化和更新

假设我有一个@property,它是一个包含四个对象使用的分数的NSMutablearray。 他们将被初始化为零,然后在viewDidLoad和应用程序的整个操作过程中更新。 出于某种原因,我不能把想法放在需要做的事情上,特别是在声明和初始化步骤。 我相信这可以是一个私人财产。 @property (strong, nonatomic) NSMutableArray *scores; @synthesize scores = _scores; 然后在viewDidLoad我尝试这样的事情,但得到一个错误。 我想,我只需要语法方面的帮助。 或者我错过了一些非常基本的东西。 self.scores = [[NSMutableArray alloc] initWithObjects:@0,@0,@0,@0,nil]; 这是一个适当的方式来初始化它? 那么如何添加(NSNumber *)updateValue,例如,第n个值? 编辑:我想我想通了。 -(void)updateScoreForBase:(int)baseIndex byIncrement:(int)scoreAdjustmentAmount { int previousValue = [[self.scores objectAtIndex:baseIndex] intValue]; int updatedValue = previousValue + scoreAdjustmentAmount; [_scores replaceObjectAtIndex:baseIndex withObject:[NSNumber numberWithInt:updatedValue]]; } 有没有更好的方法来做到这一点?

如何访问NSMutableArray中的JSON数据?

我试图访问我从一个网站采取的JSON数据,并存储在一个数组中。 但是,首先,我想过滤掉除了“标题”信息之外的所有信息,我使用的是valueForKey:方法。 为了testing这个,我使用NSLog方法将它们写入日志,但是当我运行这个时,我得到“null”。 任何人都可以告诉我,至于为什么我得到我所得到的? 感谢您的帮助,非常感谢。 { NSURL *redditURL = [NSURL URLWithString:@"http://pastebin.com/raw.php?i=FHJVZ4b7"]; NSError *error = nil; NSString *jsonString = [NSString stringWithContentsOfURL:redditURL encoding:NSASCIIStringEncoding error:&error]; NSData *jsonData = [jsonString dataUsingEncoding:NSUTF8StringEncoding]; NSMutableArray *json = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableContainers error:&error]; NSMutableArray *titles = [json valueForKey:@"title"]; NSLog(@"%@", json); }

在授权访问地址簿之后,将用户联系人存储在NSMutablearrays中

我在我的viewWillAppear:使用这个viewWillAppear:要求用户的权限/访问(如苹果要求)到他们的地址簿。 当他们允许访问时,他们可以进入“邀请”页面,在那里他们可以浏览(他们自己的)已经有我的应用程序上的现有帐户的联系人。 基本上,我只是要把他们的联系人,把它放到一个UITableView 。 所以,我必须得到他们所有的联系人,并将其添加到NSMutableArraytypes的数组中。 在下面的代码,它说:“/ /添加所有的用户联系到arrays”我需要一些代码。 我放什么? – (void)viewWillAppear:(BOOL)animated { // Request authorization to Address Book ABAddressBookRef addressBookRef = ABAddressBookCreateWithOptions(NULL, NULL); if (ABAddressBookGetAuthorizationStatus() == kABAuthorizationStatusNotDetermined) { ABAddressBookRequestAccessWithCompletion(addressBookRef, ^(bool granted, CFErrorRef error) { if (granted) { // First time access has been granted, add user's contacts to array // ADD ALL OF USERS CONTACTS TO […]

如何添加NSMutableArray作为objectAtIndex NSMutableArray

如何添加NSMutableArray作为对象(i)的另一个NSMutableArray 我的代码是: yearImages = [[NSMutableArray alloc]init]; tempImages = [[NSMutableArray alloc]init]; for(int i =0; i< [yearImagesName count]; i++) { for(int j=0; j<[totalImagesName count]; j++) { if ([[totalImagesName objectAtIndex:j] rangeOfString:[yearImagesName objectAtIndex:i]].location != NSNotFound) { [tempImages addObject:[totalImagesName objectAtIndex:j]]; } } [yearImages addObject:tempImages]; [tempImages removeAllObjects]; } NSLog(@"\n\n year%@",[yearImages objectAtIndex:0]); // getting null result 在这里,我需要添加tempImages作为(i)对象的yearImages对象.. 我需要如下的结果: [yearImages objectAtIndex:i];// result need […]