iphone – 反转NSArray的担心?

iphone – 反转NSArray的担心?,第1张

概述我有以下代码,我如何反转消息数组,见下文: #import "newsViewController.h"#import "DetailViewController.h"@implementation newsViewController@synthesize messageList;//################################################# 我有以下代码,我如何反转消息数组,见下文:

#import "newsVIEwController.h"#import "DetailVIEwController.h"@implementation newsVIEwController@synthesize messageList;//##############################################################################################################################//#################                           CUSTOM VIEW INITAliZATION                                      #################////##############################################################################################################################- (ID)initWithNibname:(Nsstring *)nibnameOrNil bundle:(NSBundle *)nibBundleOrNil {    if ((self = [super initWithNibname:nibnameOrNil bundle:nibBundleOrNil])) {        lastID = 0;        chatParser = NulL;    }    return self;}//##############################################################################################################################//#################                           DEALLOC - MEMORY RELEASE                                       #################////##############################################################################################################################-(voID)dealloc {    [messageList release];    [super dealloc];}//##############################################################################################################################//#################                           disPLAY PHP file INTEGRATION                                   #################////##############################################################################################################################-(voID)getNewMessages {    Nsstring *url = [Nsstring stringWithFormat:@"http://localhost/sportApp/messages.PHP?past=%ld&t=%ld",lastID,time(0) ];    NSMutableURLRequest *request = [[[NSMutableURLRequest alloc] init] autorelease];    [request setURL:[NSURL URLWithString:url]];    [request sethttpMethod:@"GET"];    NSURLConnection *conn=[[NSURLConnection alloc] initWithRequest:request delegate:self];      if (conn){          receivedData = [[NSMutableData data] retain];      }else{}  }//##############################################################################################################################//#################                                FETCHING PRAGMAS                                          #################////##############################################################################################################################-(voID)timerCallback {    [timer release];    [self getNewMessages];}//##############################################################################################################################//#################                             CONNECTION PRAGMAS                                           #################////##############################################################################################################################-(voID)connection:(NSURLConnection *)connection dIDReceiveResponse:(NSURLResponse *)response {    [receivedData setLength:0];}  -(voID)connection:(NSURLConnection *)connection dIDReceiveData:(NSData *)data {    [receivedData appendData:data];}  -(voID)connectionDIDFinishLoading:(NSURLConnection *)connection  {      if (chatParser)        [chatParser release];    if (messages == nil)        messages = [[NSMutableArray alloc] init];    chatParser = [[NSXMLParser alloc] initWithData:receivedData];    [chatParser setDelegate:self];    [chatParser parse];    [receivedData release];      [messageList reloadData];    NSInvocation *invocation = [NSInvocation invocationWithMethodSignature:[self methodSignatureForSelector: @selector(timerCallback)]];    //[invocation setTarget:self];    [invocation setSelector:@selector(timerCallback)];    timer = [NSTimer scheduledTimerWithTimeInterval:5.0 invocation:invocation repeats:NO];}  //##############################################################################################################################//#################                         PARSING THE MESSAGE XML file List                                #################////##############################################################################################################################-(voID)parser:(NSXMLParser *)parser dIDStartElement:(Nsstring *)elementname namespaceURI:(Nsstring *)namespaceURI qualifIEdname:(Nsstring *)qname attributes:(NSDictionary *)attributeDict {    if ( [elementname isEqualToString:@"message"] ) {        msgAdded = [[attributeDict objectForKey:@"added"] retain];        msgid = [[attributeDict objectForKey:@"ID"] intValue];        msgUser   = [[NSMutableString alloc] init];        msgText   = [[NSMutableString alloc] init];        msgText2  = [[NSMutableString alloc] init];        msgimage  = [[NSMutableString alloc] init];        msgVIDeo  = [[NSMutableString alloc] init];        inUser   = NO;        inText   = NO;        inText2  = NO;        inImage  = NO;        inVIDeo  = NO;    }    if ( [elementname isEqualToString:@"user"] )     { inUser = YES;  }    if ( [elementname isEqualToString:@"text"] )     { inText = YES;  }    if ( [elementname isEqualToString:@"subtext"] )  { inText2 = YES; }    if ( [elementname isEqualToString:@"image"] )    { inImage = YES; }    if ( [elementname isEqualToString:@"ytvIDeo"] )  { inVIDeo = YES; }}-(voID)parser:(NSXMLParser *)parser foundCharacters:(Nsstring *)string {    if ( inUser )  { [msgUser appendString:string]; }    if ( inText )  { [msgText appendString:string]; }    if ( inText2 )  { [msgText2 appendString:string]; }    if ( inImage ) { [msgimage appendString:string];}    if ( inVIDeo ) { [msgVIDeo appendString:string];}}-(voID)parser:(NSXMLParser *)parser dIDEndElement:(Nsstring *)elementname namespaceURI:(Nsstring *)namespaceURI qualifIEdname:(Nsstring *)qname {    if ( [elementname isEqualToString:@"message"] ) {        [messages addobject:[NSDictionary dictionaryWithObjectsAndKeys:msgAdded,@"added",msgUser,@"user",msgText,@"text",msgText2,@"subtext",msgimage,@"image",msgVIDeo,@"ytvIDeo",nil]];        [[messages reverSEObjectEnumerator] allObjects];        lastID = msgid;        [msgAdded release];        [msgUser release];        [msgText release];        [msgText2 release];        [msgimage release];        [msgVIDeo release];    }    if ( [elementname isEqualToString:@"user"]   ) { inUser = NO;}    if ( [elementname isEqualToString:@"text"]   ) { inText = NO;}    if ( [elementname isEqualToString:@"subtext"]   ) { inText2 = NO;}    if ( [elementname isEqualToString:@"image"]  ) { inImage = NO;}    if ( [elementname isEqualToString:@"ytvIDeo"]) { inVIDeo = NO;}}//##############################################################################################################################//#################                         PARSING FINISHED - START disPLAYING                              #################////##############################################################################################################################-(NSInteger)numberOfSectionsIntableVIEw:(UItableVIEw *)tableVIEw {    return 1;}-(NSInteger)tableVIEw:(UItableVIEw *)mytableVIEw numberOfRowsInSection:(NSInteger)section {    return ( messages == nil ) ? 0 : [messages count];}-(UItableVIEwCell *)tableVIEw:(UItableVIEw *)mytableVIEw cellForRowAtIndexPath:(NSIndexPath *)indexPath {    UItableVIEwCell *cell = (UItableVIEwCell *)[self.messageList dequeueReusableCellWithIDentifIEr:@"newsCustomCell"];    if (cell == nil) {        NSArray *nib = [[NSBundle mainBundle] loadNibnamed:@"newsCustomCell" owner:self options:nil];        cell = (UItableVIEwCell *)[nib objectAtIndex:0];    }    NSDictionary *itemAtIndex = (NSDictionary *)[messages objectAtIndex:indexPath.row];    UILabel *timeDate = (UILabel *)[cell vIEwWithTag:1];    timeDate.text = [itemAtIndex objectForKey:@"added"];    UILabel *userL = (UILabel *)[cell vIEwWithTag:2];    userL.text = [itemAtIndex objectForKey:@"user"];    UILabel *textL = (UILabel *)[cell vIEwWithTag:3];    textL.text = [itemAtIndex objectForKey:@"text"];    UILabel *textL2 = (UILabel *)[cell vIEwWithTag:4];    textL2.text = [itemAtIndex objectForKey:@"subtext"];    UILabel *imageL = (UILabel *)[cell vIEwWithTag:5];    imageL.text = [itemAtIndex objectForKey:@"image"];    UILabel *vIDeol = (UILabel *)[cell vIEwWithTag:6];    vIDeol.text = [itemAtIndex objectForKey:@"ytvIDeo"];    return cell;}-(voID)tableVIEw:(UItableVIEw *)tableVIEw dIDSelectRowAtIndexPath:(NSIndexPath *)indexPath {    DetailVIEwController *dvController = [[DetailVIEwController alloc] initWithNibname:@"DetailVIEwController" bundle:[NSBundle mainBundle]];    NSDictionary *itemAtIndex = (NSDictionary *)[messages objectAtIndex:indexPath.row];    Nsstring *selectTime = [itemAtIndex objectForKey:@"added"];    Nsstring *selectUser = [itemAtIndex objectForKey:@"user"];    Nsstring *selectMessage = [itemAtIndex objectForKey:@"text"];    Nsstring *selectMessage2 = [itemAtIndex objectForKey:@"subtext"];    Nsstring *selectimage = [itemAtIndex objectForKey:@"image"];    Nsstring *selectVIDeo = [itemAtIndex objectForKey:@"ytvIDeo"];    dvController.selectedTime = selectTime;    dvController.selectedUser = selectUser;    dvController.selectedImage = selectimage;    dvController.selectedMessage = selectMessage;    dvController.selectedMessage2 = selectMessage2;    dvController.selectedVIDeo = selectVIDeo;    [self.navigationController pushVIEwController:dvController animated:YES];    [dvController release];    dvController = nil;}//##############################################################################################################################//#################                         PARSING FINISHED - START disPLAYING                              #################////##############################################################################################################################-(voID)vIEwDIDLoad {        messageList.dataSource = self;    messageList.delegate = self;    //@@@@@@@@TRY    [[messages reverSEObjectEnumerator] allObjects];    [self getNewMessages];    [super vIEwDIDLoad];}@end

我已经搜索了一个NSArray,但所有的方法都没有为我工作,请帮助!

解决方法 你需要这样的东西:

NSMutableArray* reversedMessages = [NSMutableArray arrayWithCapacity:[messages count]];NSEnumerator*   reverseEnumerator = [messages reverSEObjectEnumerator];for (ID object in reverseEnumerator){    [reversedMessages addobject:Object];}

然后,您可以向消息分配reverseMessage,或者执行任何您想要的消息.

总结

以上是内存溢出为你收集整理的iphone – 反转NSArray的担心?全部内容,希望文章能够帮你解决iphone – 反转NSArray的担心?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1057629.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存