how to display results from a method in UILabel

点点圈 提交于 2019-12-13 22:00:11

问题


Using the following code I am connecting to Google API and when I click the button the result of the following method been called will display on label field.

My question is how to display more methods in a label field?

For example I want to display some 4 methods or multiple results in Label field.

In the code below I'm just calling one method and displaying only one result.

I want to display more results or multiple results something similar to Google search.

// .h file

{
IBOutlet UILabel* label;
NSMutableData *dataWebService; 
}

@property (retain, nonatomic) NSMutableData *dataWebService;
-(IBAction)loadData;



// .m file

- (void)loadData

{

dataWebService = [[NSMutableData data] retain];

NSURLRequest *request = [[NSURLRequest requestWithURL:[NSURL URLWithString:@"https://www.googleapis.com/customsearch/v1?key=AIzaSyDzl0Ozijg2C47iYfKgBWWkAbZE_wCJ-2U&cx=017576662512468239146:omuauf_lfve&q=lectures"]]retain];  

  [[NSURLConnection alloc]initWithRequest:request delegate:self];

}

- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response 

{

[dataWebService setLength:0];

}



- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data

{

[dataWebService appendData:data];

}



- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error

{

NSLog(@"Error during connection: %@", [error description]);

}


- (void)connectionDidFinishLoading:(NSURLConnection *)connection 

{

[connection release];    
NSString *responseString = [[NSString alloc] initWithData:dataWebService encoding:NSUTF8StringEncoding];

self.dataWebService = nil;


// NSDictionary *dictionary = [responseString JSONValue];

NSDictionary *dictionaryReturn = (NSDictionary*) [[responseString JSONValue] objectForKey:@"context"]; 
[responseString release];    


NSString *name = (NSString*) [dictionaryReturn objectForKey:@"title"];

label.text = [NSString stringWithFormat:@"lectures title: %@",name];    


}

Sample code will be welcome, thanks.


回答1:


Well, let me get this straight... You want to display multiple results within the same UILabel? If so, if you want to display more than one result at a time, you're best using a UITextView or better yet a UITableView. UI Labels are pretty limiting.

If you want to add more lines to a UILabel though, you can use

textLabel.lineBreakMode = UILineBreakModeWordWrap;
textLabel.numberOfLines = 0;

I hope I was on the right track understanding your question.



来源:https://stackoverflow.com/questions/6407789/how-to-display-results-from-a-method-in-uilabel

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!