从可变数组访问数据

时间:2016-07-01 09:10:56

标签: ios objective-c

我有一个带有16个对象的可变数组{arrayname == colA},我想单独访问这些元素并希望将它放在tableviewcell的标签中,我已经完成所有并且能够访问数据,但是最后它显示了一个错误,如“因未捕获的异常而终止应用程序'NSRangeException”...

我所做的代码是:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
      EasyTamilTeacherTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"cell" forIndexPath:indexPath];
          easyTamil = [colA objectAtIndex:indexPath.row];
          cell.inputLabel.text = easyTamil;
      }
      return cell;
}

6 个答案:

答案 0 :(得分:2)

相当基本:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    EasyTamilTeacherTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"cell" forIndexPath:indexPath];  
// Other cell settings  

 cell.inputLabel.text= [colA objectAtIndex:indexPath.row];

return cell;
}

答案 1 :(得分:0)

检查数据源方法是否正确返回部分中的行数。它应该返回数据源项的计数。

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
      return colA.count;
}

答案 2 :(得分:0)

此代码工作正常

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
        EasyTamilTeacherTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"cell" forIndexPath:indexPath];

        easyTamil = colA[indexPath.row];
        cell.inputLabel.text=easyTamil;
        return cell;
    }

答案 3 :(得分:0)

确保您在NSSString中添加NSMutableArray 如果要将字符串存储在对象中并在NSMutableArray中添加该对象,则

object = [colA objectAtIndex:indexPath.row]; // return you object

object获取字符串值并将其传递给标签。

cell.inputLabel.text = object.myLabel;

请在问题中添加错误消息。我们很容易给你正确的答案。

答案 4 :(得分:0)

请尝试

  1. 投射数据模型(如果有数据模型),否则检查key =>值 存在您想要访问的
  2. 检查值有效。尝试使用if如果在确定值之前将其设置为标签

    let indexPath = NSIndexPath(forItem: 0, inSection: 0)
    let array : NSMutableArray = NSMutableArray(array: [NSDictionary()])
    if array.count > indexPath.row{
        if let dictionary = array[indexPath.row] as? NSDictionary{
            if let name = dictionary.valueForKey("KeyDoesn't Exist") as? String{
                print("name == >>", name)
                //set name
            }
        }
    }
    

答案 5 :(得分:0)

注意: - 使用了两种UITableView委托方法,不要忘记绑定Datasource和Delegate。

之后应用此: - @interface SecondVC:UIViewController< 的UITableViewDelegate,UITableViewDataSource>

-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{


return mutArrMessages.count;
}
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"myCell" forIndexPath:indexPath];
cell.lblMessage.text = mutArrMessages[indexPath.row]
return cell;
}