草庐IT

ios - NSDictionary 对比数组

我正在阅读objective-c(一本Nerd牧场的书),我忍不住想这个问题:我如何决定哪种集合类型,NSArray或NSDictionary(有或没有它们的可变子类),从URL读取内容时使用?假设我正在从PHP脚本(正在处理的场景)中读取JSON数据,应该使用哪个?我知道在许多引用资料中都指出它取决于数据结构(即JSON),但是可以概述这两种结构的清晰轮廓吗?谢谢大家的帮助:) 最佳答案 NSArray基本上只是一个有序的对象集合,可以通过索引访问。NSDictionary通过键提供对其对象的访问(通常是NSStrings,但可以

ios - 如何按字母顺序将 NSArray 拆分为 UITableView 部分

我在使用带有章节标题的索引表时遇到了问题。目前,我在右侧有索引,并且部分标题显示正确,标题仅显示该部分内是否有数据。我遇到的问题是将NSArray拆分成多个部分,以便我可以正确计算numberOfRowsInSections。目前我有正确数量的部分显示正确的标题,但所有数据都在每个部分中,而不是根据名称的第一个字母进行拆分。这是它当前的截图:所有数据都进入每个部分,每个部分5行。节数(3)正确我的代码如下:-(NSString*)tableView:(UITableView*)tableViewtitleForHeaderInSection:(NSInteger)section{ret

ios - 字符串的大写 NSArray?

我有一个名为array的NSarray。它看起来像这样array=@[@"one",@"two",@"three"];我想让这个数组大写。解决这个问题的最佳方法是什么。我只能想到制作一个名为mutableArray的NSMutableArray。然后做这样的事情for(inti=0;i或者还有其他更好的方法吗? 最佳答案 你要找的神奇方法确实存在。NSArray*array=@[@"one",@"two",@"three"];NSArray*capArray=[arrayvalueForKeyPath:@"capitalizedSt

ios - 为什么有时可以将 NSArray 转换为 NSMutableArray,有时却不能?

具体来说:self.words=(NSMutableArray*)[self.textcomponentsSeparatedByString:@""];只要有分隔符就可以正常工作。不过,我看到该方法返回包含在NSArray中的原始字符串(如果没有的话)。这个单一元素NSArray顽固地拒绝转换为NSMutableArray。但是,当我这样做时:self.words=[NSMutableArrayarrayWithArray:self.words];它工作得很好。我在这里缺少什么吗?从NSArray转换为NSMutableArray是不好的做法吗? 最佳答案

iphone - 在 NSArray 中对重复项进行分组

我有一个包含自定义对象的NSArray,例如:[A,A,B,C,A,D,E,B,D]将这些项目分组以使最终结果类似于此的最佳方法是什么?A:3B:2C:1D:2E:1请注意,重复项是具有相同属性的所有不同实例,但我为此覆盖了isEqual:。 最佳答案 最简单的方法可能是使用NSCountedSet.您可以使用[NSCountedSetsetWithArray:myArray]生成数组的计数集合,然后您可以迭代集合的内容以找出集合中每个对象的计数。请注意,它不会被排序。另请注意,您需要提供一个合理的-hash实现,因为您只是说您覆盖

ios - NSUserDefaults 可以保存带有自定义对象的 NSArray 吗?

标题几乎解释了它。我是否需要先序列化对象,或者是否可以? 最佳答案 您必须使用NSData对对象(位于数组中)中的对象进行编码/解码并将数组存档到NSData。只需添加到你的对象的类(在你的数组中)并遵循你的编译器的警告:D然后像这样归档你的数组:NSData*data=[NSKeyedArchiverarchivedDataWithRootObject:yourArray];NSUserDefaults*defaults=[NSUserDefaultsstandardUserDefaults];[defaultssetObject

objective-c - 查找数组中重复次数最多的对象

我有一个充满字符串的数组,每个字符串都是一个名称。有些名称可能相同,有些可能不同。我使用的语言是Objective-C。我希望能够从这个数组中找出哪个名字最受欢迎(该数组将根据用户提供给应用程序的信息动态变化)。我不确定如何有效地实现这一目标。如果有人可以对此进行扩展或提供示例,将不胜感激。谢谢例子:NSArray*nameArray=[[NSArrayalloc]initWithObjects@"james",@"megan",@"lauren",@"mike"@james",nil];//jameswouldbethemostpopularname 最佳

iphone - NSPredicate 子查询语法

我有一些不友好的字典数组,而字典数组又包含数据数组,我试图根据传递谓词的任何内部数组来过滤外部数组。我似乎无法创建一个NSPredicate来完成这项工作。我开始于:NSPredicate*lookupPredicate=[NSPredicatepredicateWithFormat:@"row_values.property_id==%@ANDrow_values.property_value==%@",@"47cc67093475061e01000540",@"Male"];[dataRowsfilterUsingPredicate:lookupPredicate];这不返回任何值

objective-c - [__NSArrayM 插入对象 :atIndex:]: object cannot be nil - how determine where is the error?

我有一个带有异步事件的大项目,有时我会出错[__NSArrayMinsertObject:atIndex:]:objectcannotbenil,但我不知道在哪里抛出这个错误..我怎样才能捕捉到这个错误?我在进行操作insertobject:atIndex的任何地方都进行了断言,什么都没有..这是堆栈:***Terminatingappduetouncaughtexception'NSInvalidArgumentException',reason:'***-[__NSArrayMinsertObject:atIndex:]:objectcannotbenil'***Firstthro

iOS4 UIImagePickerController 不支持 mediaTypes = [NSArray arrayWithObject :(NSString *) kUTTypeMovie]?

在我的应用中,我想在视频模式下打开相机,所以我写了下面的代码-(BOOL)application:(UIApplication*)applicationdidFinishLaunchingWithOptions:(NSDictionary*)launchOptions{[windowaddSubview:viewController.view];[windowmakeKeyAndVisible];UIImagePickerController*ipc;ipc=[[UIImagePickerControlleralloc]init];ipc.sourceType=UIImagePicke