草庐IT

objective-c - 用于存储在 UserDefaults 中的 NSArray 或 NSDictionary?

我有一个用户类型新闻的集合,当前存储在一个NSArray中。我必须将它们存储在UserDefaults中才能将它们保存在设备上。新闻具有唯一的属性ID。在将它们存储到UserDefaults之前,我将NSArray转换为NSDictionary,其中键是ID,该键的对象是新闻。这是存储它们的好方法吗?选择NSDictionary的原因是每次我从Web服务重新下载新闻时,都能够检查新闻列表中是否存在具有特定ID的新闻。这样我每个新闻ID只有一个新闻实例。我认为使用普通的NSArray很难管理——或者我遗漏了什么? 最佳答案 Ihave

ios - 如何在 Objective-C 中获取 NSArray 中的当前位置

iOS编码的新手,所以这可能更像是一个语法问题,而不是其他任何问题。我正在尝试实现一个加载了图像对象数组的UIImageView。向右滑动时,我想移动到数组中的下一个对象,并将其加载到View中。我已经很好地加载了数组,只是不知道在语法上如何获取数组中的当前位置。我意识到这是一个完全n00b的问题,所以免费为您提供信誉。下面是一些代码:-(void)viewDidLoad{[superviewDidLoad];imageArray=[NSArrayarrayWithObjects:[UIImageimageNamed:@"1.jpg"],[UIImageimageNamed:@"2.j

objective-c - 将 NSDate 的 NSArray 转换为格式化日期字符串数组

我在NSDate格式的NSArray中有一个非连续日期数组。我需要数组中的相同日期集,但在NSString中格式为dd/MM。我想我需要循环读取原始数组中的每个日期,将其转换为字符串并根据需要对其进行格式化,但我不知道如何单步执行原始数组。NSError*error2;NSArray*swim750mArray=[contextexecuteFetchRequest:request2error:&error2];if(swim750mArray==nil){NSLog(@"Thefetchrequest2returnedanarray==nil");}else{NSLog(@"Thef

ios - 如何在 UITextView 中显示 NSArray

我有一个我想在uitextview中拥有的数组。这就是它当前的显示方式。如何删除(())?这是截图这是我的代码:NSArray*arrayConditions=[[NSArrayalloc]initWithObjects:[itemobjectForKey:@"conditions"],nil];NSString*resultConditions=[arrayConditionsdescription];self.conditionsDeal.text=resultConditions;NSLog(@"conditionsare%@",[itemobjectForKey:@"condi

ios - Xcode 自动完成为 NSArray getter 建议神秘的 "songsAtIndexes"

我的类中有一个NSArray类型的属性,名为“songs”。我正在为其创建自定义getter,XCode为我提供了创建方法的选项:songsAtIndexes:(NSIndexSet*)indexes这是什么以及为什么XCode提供这个?这是特定于NSArray属性的吗?为此方法创建方法/getter的目的是什么?如果我不手动定义它,它会自动创建/合成吗? 最佳答案 这是对索引集合进行很少使用的KVC优化的结果,可以在您的类中使用。你可以阅读这个here,但要摘录:IndexedTo-ManyRelationshipComplian

iphone - 对对象的 NSArray 进行排序 WRT 包含在这些对象中的 NSSet 中的对象

所以这是层次结构:NSArrayA包含3个对象。这些自定义对象中的每一个都包含另一个自定义对象的NSSet。每个“另一个自定义对象”都包含一个数字。我想按该数字对NSArrayA进行排序。我不在乎集合中的什么对象被拾起。该集合中的任何对象都可以。关于如何使用NSSortDescriptor执行此操作的任何线索? 最佳答案 键值编码也适用于自定义对象的属性(甚至实例变量),如以下示例所示。但是你必须指定一个应用于集合的集合运算符来选择一个对象进行排序,例如@max、@min或@avg。//The"innerobject",contai

ios - 将 NSString[] 粘贴到 NSArray 中

为什么我不能将NSString[]粘贴到NSArray中?我收到以下错误“ARC不允许将指向Objective-C指针的间接指针隐式转换为‘id’”代码如下:NSString*s1,*s2;NSString*cArray[]={s1,s2};NSMutableArray*dataArray=[[NSMutableArrayalloc]init];[dataArrayaddObject:cArray]; 最佳答案 你不能这样做,因为cArray的所有权不能转移。如果它是一个局部变量,它会在其作用域结束后立即消失,从而使您的可变数组带有

iOS JSON 解析为 NSDictionary,然后使用 SBJson 解析为 NSArray

它应该很简单,但我做不到。Json响应是([{"id":"1","x":"1","y":"2"},{"id":2,"x":"2","y":"4"}])NSString*response=[requestresponseString];//responseis([{"id":"1","x":"1","y":"2"},{"id":2,"x":"2","y":"4"}])SBJSON*parser=[[[SBJSONalloc]init]autorelease];NSDictionary*jsonObject=[parserobjectWithString:responseerror:NUL

ios - 在 NSArray 中更新 NSDictionary

我有一个NSArray的NSDictionaries。我需要更新NSDictionaries的NSArray,其中一个字典键的值更新为新值。请看下面的NSArray结构。如果Key1与某个值(例如2)匹配,我想更新此结构内Key3的值。最快的方法是什么。我不想使用传统的For循环。[myArrayvalueForKeyPath:@"@unionOfObjects.Key3"];({Key1=1;Key2="NewLocation";Key3=(Data1,Data2,Data3);},{Key1=2;Key2="OldLocation";Key3=(Data1,Data2,Data4)

objective-c - 空的 NSArray 是否相等?

我在想,为什么这段代码:NSArray*emptyArr=[[[NSArrayalloc]init]autorelease];NSArray*emptyArrA=[NSArrayarrayWithArray:emptyArr];NSArray*emptyArrB=[NSArrayarrayWithArray:emptyArr];NSLog(@"emptyArrA==emptyArrB=>%d",(emptyArrA==emptyArrB));NSLog(@"emptyArr==emptyArrB=>%d",(emptyArr==emptyArrB));NSLog(@"emptyArrA