Хорошо, поэтому из вашего комментария единственная проблема, с которой вы столкнулись, заключается в том, что показана только первая строка. Это потому, что вы только добавить первую строку в HTML вне для цикла:
for (int i=0; i<3; i++) {
thiss= [NSString stringWithFormat:@"<tr><td>Data1</td><td> %@</td><td>Data1</td><td>Data1</td><td>Data1</td></tr>",[array objectAtIndex:i]];
[myArray addObject:thiss];
}
thiss =[embedHtml stringByAppendingString:[myArray objectAtIndex:0]];
не уверен, что вы используете массив. но добавление HTML непосредственно в строку внутри для цикла решает проблему: (очистить код)
// creating values with shorter literal syntax
NSArray *values = @[@"1",@"2",@"3"];
// create mutable string
NSMutableString *embedHTML = [@"<html><head><title>First</title><style>table , td, table , tr, th{border:1px solid #333333;padding:2px;}</style></head><body><table ><tr><th>Col1</th><th>Col2</th><th>Col3</th><th>Col4</th><th>Col5</th></tr>" mutableCopy];
for (int i=0; i<3; i++) {
// create row html and append it to mutable embedHTML
NSString *rowHTML = [NSString stringWithFormat:@"<tr><td>Data1</td><td> %@</td><td>Data1</td><td>Data1</td><td>Data1</td></tr>", values[i]];
[embedHTML appendString:rowHTML];
}
// finish html
[embedHTML appendString:@"</table></body></html>"];
NSLog(@"%@", embedHTML);
[webview loadHTMLString:embedHTML baseURL:nil];
Также обратите внимание, что если у вас есть фиксированные значения ширины массива, используя для в цикле гораздо проще, понятнее и ремонтопригодны, чем при использовании для:
for (NSString *value in values) {
// create row html and append it to mutable embedHTML
NSString *rowHTML = [NSString stringWithFormat:@"<tr><td>Data1</td><td> %@</td><td>Data1</td><td>Data1</td><td>Data1</td></tr>", value];
[embedHTML appendString:rowHTML];
}
поэтому нет избыточности, и как только вы расширить массив значений код продолжает работать, как ожидалось.
Какая у вас проблема? Попытка вашего кода (и добавления отсутствующих типов) выдает ваш html. Можете ли вы подтвердить, что ваш webView отображается на экране? – warly
ya webview виден на экране, но они показывают только первую строку. Я хочу три строки из-за [myArray objectAtIndex: 0], как мы получаем все три – varun
. Вы можете упростить код с помощью литералов массива: 'array = @ [@" 1 ", @" 2 ", @" 3 "];' и вместо '[array objectAtIndex: i]' just 'array [i]' – zaph