标签: nsmutablearray

21
推荐指数
4
解决办法
1万
查看次数

对NSString的NSArray进行排序

有人可以告诉我排序NSMutableArray的代码吗?我有以下NSMutableArray:

NSMutableArray *arr = [[NSMutableArray alloc] init];
Run Code Online (Sandbox Code Playgroud)

具有诸如"2","4","5","1","9"等元素,它们都是NSString.

我想按降序对列表进行排序,以便最大值整数在列表中最高(索引0).

我尝试了以下方法:

[arr sortUsingSelector:@selector(compare:)];
Run Code Online (Sandbox Code Playgroud)

但它似乎没有正确地对我的价值进行排序.

有人能告诉我代码正确地做我想要完成的事情吗?谢谢!

sorting iphone nsmutablearray nsarray ios

21
推荐指数
4
解决办法
3万
查看次数

如何切片NSMutableArray

我有一个NSMutableArray,只需要对象[0:5].是否有一种简单的切片方法?可以在索引后删除所有对象吗?我可以将子数组复制到另一个NSMutableArray吗?

objective-c slice nsmutablearray

21
推荐指数
2
解决办法
1万
查看次数

在Objective-C中从数组中删除项目

这个问题看似简单,但我正在寻找最有效和最友好的方式.

假设我有一个Person对象数组.每个人都有一个由头发颜色代表的头发颜色NSString.然后我们说我想从数组中删除头发颜色为棕色的所有Person对象.

我该怎么做呢?

请记住,您无法从枚举的数组中删除对象.

objective-c nsstring nsmutablearray nsarray ios

21
推荐指数
4
解决办法
5万
查看次数

iOS 7中的JSON解析

我正在为现有网站创建一个应用程序.它们目前具有以下格式的JSON:

[

   {
       "id": "value",
       "array": "[{\"id\" : \"value\"} , {\"id\" : \"value\"}]"
   },
   {
       "id": "value",
       "array": "[{\"id\" : \"value\"},{\"id\" : \"value\"}]"
   } 
]
Run Code Online (Sandbox Code Playgroud)

它们在使用Javascript转义\字符后解析.

我的问题是当我使用以下命令在iOS中解析它时:

NSArray *result = [NSJSONSerialization JSONObjectWithData:jsonData options:kNilOptions error:&localError];
Run Code Online (Sandbox Code Playgroud)

这样做:

NSArray *Array = [result valueForKey:@"array"];
Run Code Online (Sandbox Code Playgroud)

而不是Array我得到的NSMutableString对象.

  • 该网站已经投入生产,因此我无法要求他们更改现有结构以返回正确的JSON对象.对他们来说这将是很多工作.

  • 所以,直到他们改变底层stucture,有没有什么办法可以让它工作在iOS像他们做与javascript他们website

任何帮助/建议对我都非常有帮助.

json objective-c nsmutablearray nsarray ios

21
推荐指数
2
解决办法
8万
查看次数

将NSMutableArray保存到核心数据

我想将NSStrings的NSMutableArray添加到我的核心数据模型中的一个实体中.问题是这不是Core Data中支持的类型.

我尝试制作一个转换属性,但问题是我看不到将NSMutableArray转换为NSData,然后从NSData转回NSMutableArray.有没有人知道如何解决这个问题?

(我知道我可以存档数组,但我不想这样做,我希望它存在于我的模型中).

iphone core-data nsmutablearray

20
推荐指数
1
解决办法
1万
查看次数

我应该继承NSMutableArray类

我有一个NSMutableArray对象,我想添加自定义方法.我尝试了子类化NSMutableArray但是当我尝试使用count方法获取对象数时,我得到一个错误,说"只为抽象类定义了方法".为什么count方法不会被继承?

我在其他地方读到如果我想使用它们,我必须将一些NSMutableArray方法导入我的自定义类.我只想为NSMutableArray类添加一个自定义方法.我应该将NSMutableArray子类化,还是应该做其他事情?

methods cocoa-touch subclass objective-c nsmutablearray

20
推荐指数
2
解决办法
8443
查看次数

如何将NSArray转换为NSMutableArray

ABAddressBookRef addressBook = ABAddressBookCreate();
CFArrayRef allPeople = ABAddressBookCopyArrayOfAllPeople(addressBook);  
CFIndex nPeople = ABAddressBookGetPersonCount(addressBook);

NSMutableArray *tempPeoples=[[NSMutableArray alloc]init];

for(int i=0;i<nPeople;i++){

    ABRecordRef i1=CFArrayGetValueAtIndex(allPeople, i);
    [tempPeoples addObject:i1];

//  [peoples addObject:i1];

}// end of the for loop
peoples=[tempPeoples copy];
Run Code Online (Sandbox Code Playgroud)

此代码提供异常b/c我想将NSMutableArray转换为NSArray请帮助

objective-c nsmutablearray nsarray

20
推荐指数
1
解决办法
4万
查看次数

尝试插入非属性值Objective C

嗨我正在尝试从餐馆对象创建一个fourates列表,我的应用程序有一个不同的餐厅列表,我希望能够为用户添加有利的餐厅,这个代码不起作用

- (IBAction)toggleFav:(id)sender {

    Restaurant *resto = [self restaure];

    NSMutableDictionary *dic = [[NSMutableDictionary alloc] init];
    [dic setObject:resto.price forKey:@"restoPrice"];
    [dic setObject:resto.restaurantId forKey:@"restaurantId"];
    [dic setObject:resto.restoAbout forKey:@"restoAbout"];
    [dic setObject:resto.restoAddress forKey:@"restoAddress"];
    [dic setObject:resto.restoBeverages forKey:@"restoBeverages"];
    [dic setObject:resto.restoCategory forKey:@"restoCategory"];
    [dic setObject:resto.restoEmail forKey:@"restoEmail"];
    [dic setObject:resto.restoLogo forKey:@"restoLogo"];
    [dic setObject:resto.restoName forKey:@"restoName"];
    [dic setObject:resto.restoPhone forKey:@"restoPhone"];
    [dic setObject:resto.restoCity forKey:@"restoCity"];

    NSArray *dicArray = [dic allKeys];


    if([sender isSelected]){
        //...
        [sender setSelected:NO];
        NSMutableArray *array = [[[NSUserDefaults standardUserDefaults] objectForKey:@"restoName"] mutableCopy];
        [array removeObject:dicArray];
        [[NSUserDefaults standardUserDefaults] setObject:array forKey:@"restoName"];

    } else {
        //...
        [sender setSelected:YES];
        NSMutableArray *array = …
Run Code Online (Sandbox Code Playgroud)

objective-c nsuserdefaults nsmutablearray property-list ios

20
推荐指数
2
解决办法
3万
查看次数

NSMutableArray背后的数据结构是什么?

通常,"可变数组"类被实现为简单数组的包装器.当您在结尾添加元素时,包装器会分配更多内存.这是一种常见的数据结构,各种操作的性能是众所周知的.你得到O(1)元素访问,O(N)插入和删除,或O(1)(平均)插入和删除数组的末尾.但是NSMutableArray还有别的.例如,文档说[强调我的]:

注意:数组上的大多数操作都需要花费一些时间:访问元素,在任一端添加或删除元素,以及替换元素.将元素插入数组的中间需要线性时间.

那究竟是NSMutableArray什么?这是在某处记录的吗?

objective-c foundation nsmutablearray data-structures

20
推荐指数
1
解决办法
3343
查看次数