标签: nsarray

-arrayWithArray实际上做了什么?

我想看看它是如何创建一个数组的.如何查看显示如何完成的.m文件?

iphone objective-c uikit nsmutablearray nsarray

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

帮助跨两个属性对NSArray进行排序(使用NSSortDescriptor?)

我有点像NSSortDescriptor n00b.不过,我认为它是我需要做的正确工具:

我有一个由带有键的对象组成的NSArray,比如"name"和"time".这是一个例子,而不是用语言表达它:

input:

name: time
B: 4
C: 8
B: 5
C: 4
A: 3
C: 2
A: 1
A: 7
B: 6


desired output:

name: time
A: 1 <---
A: 3
A: 7
C: 2 <---
C: 4
C: 8
B: 4 <---
B: 5
B: 6
Run Code Online (Sandbox Code Playgroud)

因此,值按"时间"排序,并按"名称"分组.A首先是因为他的时间值最小,而A的所有值都是相继的.然后是C,他的所有价值都是第二小的时间价值.我已经指出了确定名称排序方式的值; 在每个名称组中,按时间排序.

如何以最有效的方式从输入到输出NSArray?(cpu-和内存方面,不一定是代码方式.)我如何为此构造NSSortDescriptors,或使用任何其他方法?我不想自己动手,除非这是最有效的方式.

sorting cocoa nsarray nssortdescriptor

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

不推荐使用NSString stringWithContentsOfURL.我该怎么办?

我写了一些使用的代码stringWithContentsOfURL,但事实证明它已被弃用.你能帮我换一下吗?这是我的代码:

NSString *locationString = [NSString stringWithContentsOfURL:[NSURL URLWithString:urlString]];
NSArray *listItems = [locationString componentsSeparatedByString:@","];
Run Code Online (Sandbox Code Playgroud)

此外,有人可以有一些示例代码来说明它是如何工作的吗?原始代码的编码是什么(在上面的2行中)?

我想保持兼容性,那么我应该为编码选择什么?错误意味着什么,它用于什么?

xml nsstring nsarray ios

8
推荐指数
1
解决办法
8412
查看次数

什么时候应该发布我的阵列?

我正在从互联网解析一些JSON,然后将它们添加到一个数组,这是我的UITableView的数据源.我不确定何时应该发布我的阵列?

.h:物品

@property(nonatomic,retain)NSMutableArray*  items;
Run Code Online (Sandbox Code Playgroud)

.m:connectionDidFinishLoading

// fetch succeeded    
    NSString* json_string = [[NSString alloc] initWithData:retrievedData encoding:NSUTF8StringEncoding];

    //Check ST status
    int status =  [[[[json_string objectFromJSONString] valueForKey:@"response"] valueForKey:@"status"]intValue];
    //NSLog(@"Status: %d", status);

    items = [[NSMutableArray alloc] init];
    NSDictionary* messages = [[NSDictionary alloc] init]; 

    switch (status) {
        case 200:
            messages = [[[json_string objectFromJSONString] valueForKey:@"messages"] valueForKey:@"message"];

            for (NSDictionary *message in messages)
            {
                [items addObject:message];
            }
            [self.tableView reloadData];
        break;

        default:
        break;
    }
Run Code Online (Sandbox Code Playgroud)

memory iphone cocoa-touch objective-c nsarray

8
推荐指数
1
解决办法
390
查看次数

在目标C中NSMutableArray到NSArray

可能重复:
如何将NSMutableArray转换为NSArray?

如何在目标C中将NSMutableArray转换为NSArray,即不使用逐个添加对象的循环.

objective-c nsmutablearray nsarray

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

如何通过语句或枚举打印NSArray对象?

可能重复:
如何遍历NSArray?

这是我的代码(例如):

NSArray *myArray = [NSArray arrayWithObjects:@"Red", @"Blue", @"Green", nil];
Run Code Online (Sandbox Code Playgroud)

我希望循环通过数组将每个字符串打印到控制台.

谢谢.

cocoa for-loop objective-c nsarray

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

使用内联块在NSArray中搜索对象索引

我已经看到了一些使用NSArray indexOfObjectPassingTest的例子,但我无法使它们工作(它们不会返回有效的索引).所以现在我正在尝试使用内联块.我通过typedef一个块,然后将其设置为属性,合成它,并在构造函数中初始化它来完成它.然而,这种方式使整个点变得无声,因为我可以轻松地创建一个方法并使用它(减少打字,减少工作量).

我想要实现的是这样的事情:

Observations *obs = [self.myAppointment.OBSERVATIONS objectAtIndex: ^NSInteger (NSString *keyword){ 
    for (Observations *obs in self.myAppointment.OBSERVATIONS) {
        if ([obs.TIME isEqualToString:keyword] == YES) return (NSInteger)[self.myAppointment.OBSERVATIONS indexOfObject:obs];
    }
    return (NSInteger)-1;
}];
Run Code Online (Sandbox Code Playgroud)

然而,Xcode根本就没有它.我尝试过不同的变体,但是内联声明它似乎是一个问题,这很奇怪,因为正如我所说的那样,键入它,声明和合成它的工作原理如下:

Observations *obs = [self.myAppointment.OBSERVATIONS objectAtIndex:findObs(keyword)];
Run Code Online (Sandbox Code Playgroud)

findObs再次是一个定义的块,它做同样的事情.这是一个语法问题,还是我错过了其他更重要的东西?

css objective-c nsarray objective-c-blocks

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

如何从包含字典的NSArray中获取最大值?

你如何从带有字典的NSArray中获得最大的价值?

假设我有NSArray包含带有"年龄","姓名"等字典的词典.现在我想得到年龄最大的记录.这有可能与一些KVC魔术?或者我是否必须以"手动"的方式进行迭代?

我尝试过类似的东西:

int max = [[numbers valueForKeyPath:@"@max.intValue"] intValue];
Run Code Online (Sandbox Code Playgroud)

iphone cocoa-touch objective-c key-value-coding nsarray

8
推荐指数
1
解决办法
5701
查看次数

枚举NSArray从givven索引开始搜索两种方式(没有环绕)

例.我有一个包含15个对象的数组.我想从给定的索引开始枚举.比如从索引5开始,然后是上面的索引,索引在下面,上面,下面......我不希望它环绕,而是停止并继续在未探索的方向.

所以我的例子中的索引顺序是.5,6,4,7,3,8,2,9,1,10,0,11,12,13,14

如何才能做到这一点?

arrays enumeration nsarray ios

8
推荐指数
1
解决办法
346
查看次数

如何在一个NSMutableArray中添加对象多NSArray

我想从2 NSArray添加对象到NSMutableArray.我不知道这个.

我的代码:

@interface ViewController : UITableViewController
{
    NSArray *animal;
    NSArray *color;
    NSMutableArray *all;
}


@implementation ViewController

- (void)viewDidLoad
{
    [super viewDidLoad];

    animal = [[NSArray alloc]initWithObjects:@"Lion",@"Tiger",@"Dog",@"Cat",@"Sheep",@"Wolf", nil];
    color = [[NSArray alloc]initWithObjects:@"Blue",@"Red",@"Yellow",@"Green",@"Black", nil];

    all = ??? ; //how to add object from animal and color array in all 
}
Run Code Online (Sandbox Code Playgroud)

objective-c nsmutablearray nsarray ios

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