Вы можете использовать методы NSString для получения первых 100 символов, но вы все равно потратили бы пропускную способность, чтобы получить все данные.Так зачем скачивать все, когда вам нужно всего 100 символов.
Итак, чтобы получить только часть данных, поступающих с сервера, вам нужно сосчитать поток данных, который дает ответ URL.Для этого вы можете использовать NSURLConnection
-
- (void)viewDidLoad {
[super viewDidLoad];
responseData = [[NSMutableData data] retain];
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://someurl.com/data.json"]];
[[NSURLConnection alloc] initWithRequest:request delegate:self];
}
- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response {
[responseData setLength:0];
}
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data {
if([responseData length] <= 100)
[responseData appendData:data];
else //break connection
[self connectionDidFinishLoading:connection];
}
- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error {
label.text = [NSString stringWithFormat:@"Connection failed: %@", [error description]];
}
- (void)connectionDidFinishLoading:(NSURLConnection *)connection {
[connection release];
}
Так что вам нужно поместить свою логику в didReceiveData
.Для здесь вы хотите только 100 символов, поэтому разорвите соединение после того, как этот номер будет достигнут.