我有一系列字典.我想提取一个数组,其中包含原始数组中字典的一个特定键的所有元素.这可以在没有枚举的情况下完成吗?
我有一个包含自定义对象的数组.每个数组项都有一个名为"name"的字段.现在我想根据此名称值删除重复的条目.
我应该如何实现这一目标.
提前致谢.
我有一个庞大的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) 我有一个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)
知道我需要做些什么来解决这个问题吗?
我在我的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) 我有一个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)
如果传入的密钥是单字,则可以正常工作:颜色,名称,年龄.但如果密钥是多字的,它就不起作用,例如:人物年龄,人名.
基本上,任何包含空格的键,它都不起作用.我已经尝试在字符串中的键周围放置单引号,就像它们在值侧完成但是也没有用.也试过双引号,但无济于事.
请告知此事.提前致谢.
我有一个包含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) 我想知道是否有可能从内部的所期望的按键得到一个值,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迭代我的数组?
NSArray和CCArray有什么区别?另外,在什么情况下,对于游戏编程,一个人会更喜欢另一个?
当我尝试将分隔的字符串拆分为数组时,我遇到了一些问题.基本上,我想从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并在正确的字段中发送正确的数据缺少什么?
nsarray ×10
objective-c ×7
ios ×4
nsdictionary ×4
iphone ×3
nsstring ×3
addressbook ×1
cocoa ×1
cocoa-touch ×1
ios4 ×1
nspredicate ×1
regex ×1
unique ×1