#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的担心?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)