使用" NSLog"显示对象数组的解决方案是什么?
我可以用我的TableView显示它:
- (UITableViewCell *)tableView:(UITableView *)tableView
cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
UITableViewCell *cell = [tableView
dequeueReusableCellWithIdentifier:@"MyBasicCell2"];
DataOrder *bug = [[[ArrayBuying instance] tableau] objectAtIndex:indexPath.row];
static NSString *CellIdentifier = @"MyBasicCell2";
CustomCellFinalView *Cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (!Cell) {
Cell = [[CustomCellFinalView alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}
Cell.NomProduit.text = bug.product;
Cell.Quantite.text = [NSString stringWithFormat:@"%.2f €", bug.price];
Cell.Prix.text = [NSString stringWithFormat:@"X %d ", bug.quantite];
return Cell;
return cell;
}
当我尝试使用ViewDidLoad:
方法时
NSLog(@"%@",[[ArrayBuying instance] tableau]);
我在目标输出中获得:
(
"<DataOrder: 0x15d5d980>",
"<DataOrder: 0x15de1aa0>"
)
非常感谢你的未来帮助
答案 0 :(得分:9)
您可以在DataOrder类中实现- (NSString *)description
方法。
如果描述可用,NSLog将显示实例的描述方法的返回值。
的文件通过实现描述方法,您可以更轻松地打印对象。
答案 1 :(得分:5)
试试这个
for ( DataOrder *bug in [[ArrayBuying instance] tableau] )
{
NSLog(@"Product:- %@ Price:-%@", bug.product, bug.price);
}
答案 2 :(得分:1)
在DataOrder类中编写- (NSString*) description
方法。
-(NSString *)description
{
return [NSString stringWithFormat:@"%@%@",myData1,myData2];
}
NSLog(@"%@",[[[ArrayBuying instance] tableau] descriptionWithLocale:nil indent:1]);
答案 3 :(得分:1)
NSLog
调用对象的description
方法进行打印。如果你没有为你的类实现这个方法(在这种情况下是DataOrder
),它将调用NSObject's
默认实现,它只打印对象的地址。