标签: nsarray

从字典数组中,生成包含一个键值的数组

我有一系列字典.我想提取一个数组,其中包含原始数组中字典的一个特定键的所有元素.这可以在没有枚举的情况下完成吗?

cocoa cocoa-touch objective-c nsdictionary nsarray

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

从目标c中的数组中删除重复项

我有一个包含自定义对象的数组.每个数组项都有一个名为"name"的字段.现在我想根据此名称值删除重复的条目.

我应该如何实现这一目标.

提前致谢.

unique objective-c nsarray

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

循环遍历NSDictionary以创建单独的NSArrays

我有一个庞大的NSDictionary,我需要循环并创建单独的NSArrays.以下是内容:

(
        {
        id =         {
            text = "";
        };
        sub =         {
            text = " , ";
        };
        text = "";
        "thumb_url" =         {
            text = "";
        };
        title =         {
            text = "2010-2011";
        };
        type =         {
            text = "title";
        };
    },
        {
        id =         {
            text = "76773";
        };
        sub =         {
            text = "December 13, 2010";
        };
        text = "";
        "thumb_url" =         {
            text = "http://www.puc.edu/__data/assets/image/0004/76774/varieties/thumb.jpg";
        };
        title =         {
            text = …
Run Code Online (Sandbox Code Playgroud)

iphone objective-c nsdictionary nsarray ios4

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

将由逗号分隔的NSString转换为NSArray

可能重复:
在Objective-C中将NSArray转换为NSString

我有一个NSArray myArray的数组,这里是内容:

 (
            "<MPConcreteMediaItem: 0x1b7dd0> 8671085923283003246",
            "<MPConcreteMediaItem: 0x1b7e50> 16275751483823231324",
            "<MPConcreteMediaItem: 0x1b7e70> 4976771456698615367"
 )
Run Code Online (Sandbox Code Playgroud)

我使用下面的代码分配给NSString myString:

NSString *myString = [myArray description];
Run Code Online (Sandbox Code Playgroud)

而且输出仍然如预期:

 (
            "<MPConcreteMediaItem: 0x1b7dd0> 8671085923283003246",
            "<MPConcreteMediaItem: 0x1b7e50> 16275751483823231324",
            "<MPConcreteMediaItem: 0x1b7e70> 4976771456698615367"
 )
Run Code Online (Sandbox Code Playgroud)

现在,假设我想将myString转换回名为newArray的数组,我使用了这个:

NSArray *newArray = [[NSArray alloc]init];
newArray = [myString componentsSeparatedByString:@","];
Run Code Online (Sandbox Code Playgroud)

但是newArray的内容现在不同了:

(       
"(
    \"<MPConcreteMediaItem: 0x1b7dd0> 8671085923283003246\"",
        "
    \"<MPConcreteMediaItem: 0x1b7e50> 16275751483823231324\"",
        "
    \"<MPConcreteMediaItem: 0x1b7e70> 4976771456698615367\""
)"
) 
Run Code Online (Sandbox Code Playgroud)

知道我需要做些什么来解决这个问题吗?

objective-c nsstring nsarray ios

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

使用NSRegularExpression在iPhone上提取URL

我在我的iPhone应用程序上使用以下代码,从这里获取条带.html代码中的所有URL.

我只能提取第一个URL,但我需要一个包含所有 URL 的数组.我的NSArray没有为每个URL返回NSStrings,只返回对象描述.

如何arrayOfAllMatches以NSStrings的形式返回所有网址?

-(NSArray *)stripOutHttp:(NSString *)httpLine {

// Setup an NSError object to catch any failures
NSError *error = NULL;  

// create the NSRegularExpression object and initialize it with a pattern
// the pattern will match any http or https url, with option case insensitive

NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"http?://([-\\w\\.]+)+(:\\d+)?(/([\\w/_\\.]*(\\?\\S+)?)?)?" options:NSRegularExpressionCaseInsensitive error:&error];

// create an NSRange object using our regex object for the first match in the string httpline
NSRange rangeOfFirstMatch = [regex …
Run Code Online (Sandbox Code Playgroud)

regex objective-c nsstring nsarray nsregularexpression

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

使用NSPredicate过滤NSDray对象的NSArray

我有一个NSDray的NSDictionary对象.我想使用NSPredicate根据字典的键过滤数组.我一直在做这样的事情:

NSString *predicateString = [NSString stringWithFormat:@"%@ == '%@'", key, value];
NSPredicate *predicate = [NSPredicate predicateWithFormat:predicateString];
NSArray *filteredResults = [allResultsArray filteredArrayUsingPredicate:predicate];
Run Code Online (Sandbox Code Playgroud)

如果传入的密钥是单字,则可以正常工作:颜色,名称,年龄.但如果密钥是多字的,它就不起作用,例如:人物年龄,人名.

基本上,任何包含空格的键,它都不起作用.我已经尝试在字符串中的键周围放置单引号,就像它们在值侧完成但是也没有用.也试过双引号,但无济于事.

请告知此事.提前致谢.

iphone nsdictionary nsarray nspredicate ios

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

IndexOfObject返回2147483647

我有一个包含10个项目的数组.当我IndexOfObject为元素编号9 调用" "时,元素编号10 Xcode返回异常:" NSRangeException"

原因:'_ [_ NSCFArray objectAtIndex:]索引:2147483647超出边界(10)'.

从前一个NSLog,我看到数组中存在两个元素,但indexOfObject没有找到它们.为什么?

我的代码是:

    NSDictionary * headConfig =[avatarDictionaryToSave objectForKey:@"head_dictionary"];
    NSString * headImage =[headConfig objectForKey:@"layer_key"];
    NSString * pathFace =[[NSBundle mainBundle]pathForResource:@"Face" ofType:@"plist"];
    NSLog(@"%@", headImage);

    NSArray *arrayFace =[NSArray arrayWithContentsOfFile:pathFace];
    NSLog(@"the  elements are: %@", arrayFace);//here headImage is present
    int index =[arrayFace indexOfObject:headImage];
    NSLog(@"the index is %d", index);
Run Code Online (Sandbox Code Playgroud)

iphone nsarray nsrangeexception

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

如何从NSArray中的NSDictionaries中获取值

我想知道是否有可能从内部的所期望的按键得到一个值,NSDictionary即是NSArray.

例:

NSArray *array = @[ @{@"title" : @"title 1", @"description" : @"description 1"},
@{@"title" : @"title 2", @"description" : @"description 2"}, 
@{@"title" : @"title 3", @"description" : @"description 3"} ];
Run Code Online (Sandbox Code Playgroud)

我想得到(没有创建新的NSMutableArray)我内部的所有标题NSArray.也许我做错了什么,我的做法完全不好.

我知道我可以创建一个新类并且有2个属性(标题,desc),但有没有一种方法可以创建一个类或者创建一个新的NSMutableArray迭代我的数组?

objective-c nsdictionary nsarray ios

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

NSArray和CCArray之间的差异

NSArray和CCArray有什么区别?另外,在什么情况下,对于游戏编程,一个人会更喜欢另一个?

objective-c cocos2d-iphone nsarray

12
推荐指数
1
解决办法
1975
查看次数

如何将分隔的NSString拆分为NSArray

当我尝试将分隔的字符串拆分为数组时,我遇到了一些问题.基本上,我想从MECARD QRCode传递结果并向addressBook添加新条目.

这是我的代码(仅适用于"FirstName"字段)::

NSLog(@"found CB");
NSLog(@"_code.text = %@", code.content);
ABAddressBookRef addressBook = ABAddressBookCreate();
ABRecordRef person = ABPersonCreate();

NSString *_n = [NSString stringWithFormat:@"_code.text = %@", code.content];
NSArray *n = [_n componentsSeparatedByString:@";"];
NSLog(@"_code.text = %@",n);

ABRecordSetValue(person, kABPersonFirstNameProperty, _name, nil);

ABAddressBookAddRecord(addressBook, person, nil);
CFRelease(addressBook);

ABNewPersonViewController *c = [[ABNewPersonViewController alloc] init];
[c setNewPersonViewDelegate:self];
[c setDisplayedPerson:person];
CFRelease(person);
[self.navigationController pushViewController:c animated:YES];
[c release];
Run Code Online (Sandbox Code Playgroud)

MECARD QRCode解码得很好,viewController出现......但所有的URL(如:"MECARD:N:name; ORG:company; TEL:89878978; ......等等)都进入第一个字段(FistName字段)......

分离我的MECARD URL并在正确的字段中发送正确的数据缺少什么?

nsstring addressbook nsarray ios

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