我是iphone开发的新手.我最近有一个可变数组,其中诸如标题,日期,网址和摘要等值被存储为"密钥对象".密钥是myurl,mudate,mytitle,mysummary.我想要排序参考日期的可变数组并根据那些打印所有值.我怎么能实现这一点?请帮帮我.谢谢.
[item setObject:currentTitle forKey:@"title"];
[item setObject:currentLink forKey:@"link"];
[item setObject:currentSummary forKey:@"description"];
[item setObject:currentDate forKey:@"pubDate"];//
[item setObject:currentImage forKey:@"imagePath"];
[recent addObject:[item copy]];
Run Code Online (Sandbox Code Playgroud)
所有都是xml解析的内容.
我想从a中删除一个特定元素NSMutableArray,我看到NSArray有indexOfObject一个对此非常有用的方法,但NSMutableArray没有.
我目前的方法是使用removeObjectsInArray方法NSMutableArray作为参数传递包含我的object/s的数组.
有没有更好的方法呢?有什么理由NSMutableArray没有这种方法吗?
for(int i=0;i<[promotionArr count];i++)
{
// NSLog(@"ok");
Promotion *prom = [[Promotion alloc]init];
prom.pName=[[promotionArr objectAtIndex:i] objectForKey:@"name"];
prom.pUrl=[[promotionArr objectAtIndex:i] objectForKey:@"url"];
prom.pDescription=[[promotionArr objectAtIndex:i] objectForKey:@"description"];
[promMUAraay addObject:prom];
NSLog(@"number of elements : %d",[promMUAraay count]);
}
Run Code Online (Sandbox Code Playgroud)
但元素的数量始终为0.我没有为NSMutableArray做@synthetise,xcode告诉我,我不能.我只是在我的.h中这样做
NSMutableArray *promMUAraay;
Run Code Online (Sandbox Code Playgroud)
这就是问题所在?
我如何比较两个NSArray,以便我可以删除两个数组中没有的所有内容.
我试过这样的:
NSArray *array1 = [NSArray arrayWithObjects:@"1",@"2",@"3",@"4", nil];
NSArray *array2 = [NSArray arrayWithObjects:@"1",@"2",@"5",@"6", nil];
NSMutableArray *myMutableArray = [NSMutableArray arrayWithArray:array1];
NSMutableArray *myMutableArrayTwo = [myMutableArray copy];
[myMutableArray removeObjectsInArray:array2];
[array1 release];
[array2 release];
NSArray *array3 = [myMutableArray copy];
[myMutableArrayTwo removeObjectsInArray:array3]; // Error here: "SIGABRT"
NSLog(@"array3:%@",myMutableArrayTwo);
Run Code Online (Sandbox Code Playgroud)
但由于错误,它不起作用.它是:" - [__ NSArrayI removeObjectsInArray:]:无法识别的选择器发送到实例0x4e51550"
我做错了什么?或者有更简单的方法来解决我的问题?谢谢您的帮助
我的数组在每个索引处包含(firstName,lastName,age).现在我想改变一个人在索引1的年龄.请指导如何做到这一点.这是我的代码.
- (void)viewDidLoad {
[super viewDidLoad];
productArray=[[NSMutableArray alloc]init];
PersonDetail *personObj = [[PersonDetail alloc] init];
personObj.firstName = @"Adeem";
personObj.lastName = @"Basraa";
personObj.age = @"5";
[productArray addObject:personObj];
[personObj release];
PersonDetail *personObj = [[PersonDetail alloc] init];
personObj.firstName = @"Ijaz";
personObj.lastName = @"Ahmed";
personObj.age = @"10";
[productArray addObject:personObj];
[personObj release];
PersonDetail *personObj = [[PersonDetail alloc] init];
personObj.firstName = @"Waqas";
personObj.lastName = @"Ahmad";
personObj.age = @"15";
[productArray addObject:personObj];
[personObj release];
Run Code Online (Sandbox Code Playgroud)
}
嗨,我正试着读一个plist的值,这就是我的plist看起来像atm
<plist version="1.0">
<array>
<dict>
<key>Title</key>
<string>Mickey Mouse</string>
<key>Image</key>
<string>mickeymouse.png</string>
<key>Hint1</key>
<string>Hint 1</string>
<key>Hint2</key>
<string>Hint 2</string>
<key>Hint3</key>
<string>Hint 3</string>
</dict>
<dict>
<key>Title</key>
<string>Peter Pan</string>
<key>Image</key>
<string>peterpan.png</string>
<key>Hint1</key>
<string>Hint 1</string>
<key>Hint2</key>
<string>Hint 2</string>
<key>Hint3</key>
<string>Hint 3</string>
</dict>
</array>
</plist>
Run Code Online (Sandbox Code Playgroud)
这个我正在使用的代码然而它只是崩溃了.
AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
NSString *questionNumber = [NSMutableString stringWithFormat:@"Item 0"];
NSString *path = [[NSBundle mainBundle] pathForResource:@"Level1" ofType:@"plist"];
NSMutableArray *array = [[NSMutableArray alloc] initWithContentsOfFile:path];
NSDictionary *questionNumberDictionary = [array objectForKey:questionNumber];
NSString *questionTitle = [questionNumberDictionary objectForKey:@"Title"];
NSString *questionImage = [questionNumberDictionary objectForKey:@"Image"]; …Run Code Online (Sandbox Code Playgroud) 我有一个带有一些NSNumber的NSMutableArray:
{1, 2, 3, 3, 2, 1, 6, 2}
Run Code Online (Sandbox Code Playgroud)
我想知道列表中出现的每个数字的出现次数.
Ex :
1 = 2
2 = 3
3 = 2
6 = 1
Run Code Online (Sandbox Code Playgroud) 我NSMutablearray喜欢这个(这是一个JSON之一)
{
"notification_list":[
{
"TYPE":"ARTIST",
"ID":"07",
"DTEXT":"Now you can listen to the songs of ARTIST1",
"ADDEDDATE":"27th June, 2013 4:44 pm."
},
{
"TYPE":"BRAND",
"ID":"http:\/\/www.me.lk\/",
"DTEXT":"M Entertainment have been joined with Mobile Music",
"ADDEDDATE":"27th June, 2013 3:37 pm."
},
{
"TYPE":"ARTIST",
"ID":"03",
"DTEXT":"Now you can listen to the songs of ARTIST2",
"ADDEDDATE":"27th June, 2013 3:37 pm."
},
{
"TYPE":"ALBUM",
"ID":"Nava Ridgma",
"DTEXT":"Get new album of ARTIST3, Nava ridma",
"ADDEDDATE":"27th June, 2013 3:37 pm."
},
{
"TYPE":"SONG",
"ID":"05",
"DTEXT":"New Song …Run Code Online (Sandbox Code Playgroud) 在NSMutableArray我要排序是这样的:
(
{
"title" = "Bags";
"price" = "$200";
},
{
"title" = "Watches";
"price" = "$40";
},
{
"title" = "Earrings";
"price" = "$1000";
}
)
Run Code Online (Sandbox Code Playgroud)
它是一个NSMutableArray包含NSMutableArrays 的集合.我想price首先按它排序title.
NSSortDescriptor *sortByPrices = [[NSSortDescriptor alloc] initWithKey:@"price" ascending:YES];
NSSortDescriptor *sortByTitle = [[NSSortDescriptor alloc] initWithKey:@"title" ascending:YES];
[arrayProduct sortedArrayUsingDescriptors:[NSArray arrayWithObjects:sortByPrices,sortByTitle,nil]];
Run Code Online (Sandbox Code Playgroud)
但是,这似乎没有用,如何对嵌套进行排序NSMutableArray?
出于某种原因,我在运行应用程序时遇到此错误:
[__NSArrayI removeAllObjects]: unrecognized selector sent to instance
我在.m中设置了NSMutableArray,如下所示:
@implementation ChooseViewController
{
NSMutableArray *trackName;
}
Run Code Online (Sandbox Code Playgroud)
并填充它像这样:
trackName = [JSON valueForKeyPath:@"results.trackName"];
Run Code Online (Sandbox Code Playgroud)
但是,当我运行此代码时,它给了我错误:
[trackName removeAllObjects];
Run Code Online (Sandbox Code Playgroud)
其他一切正常,trackName中的数据也可以.当我运行这段代码时,它只是搞乱了.提到的唯一的其他时间trackName数组是表视图计数:
return [trackName count];
你觉得有什么不对吗?我相信问题在于它认为它是一个NSArray,但它们都不是.
nsmutablearray ×10
iphone ×5
nsarray ×5
objective-c ×5
ios ×3
cocoa ×1
cocoa-touch ×1
compare ×1
comparison ×1
indexing ×1
nsdictionary ×1
object ×1
plist ×1
sorting ×1