>>> [(a, ) + b for a, b in zip(l1, l2)]
[(1, 10, 20), (2, 30, 40), (3, 50, 60), (4, 70, 80)]
现在我有其他的方法,如分割分子和分母等。但我想在NSLog中的[myFraction]添加其他所有内容而不是新行
-(void) print {
NSLog(@"%i/%i", numberator, denominator);
}
Fraction *myFraction = [Fraction new];
[myFraction setNumberator:1];
[myFraction setDenominator:3];
无论如何我可以在[myFractions打印]中添加两个%i%i,所以我不必输入[myFraction numerator / denominator]
例如
NSLog(@"The value of my fraction is: %i/%i which equals to: %.3g * 100 = %.4g%%", [myFraction numberator], [myFraction denominator], [myFraction convertToNum], [myFraction multiplyBy100]);
结果:1/3
答案 0 :(得分:3)
您可以使用description
方法。您可以在类中覆盖它以返回类的字符串表示形式。
在您的情况下,您可以使用以下代码:
-(NSString*) description {
return [NSString stringWithFormat:@"%i/%i", numerator, denominator];
}
打印对象,然后像这样使用它
NSLog("Fraction = %@", yourFractionObj);
答案 1 :(得分:0)
而不是你的打印方法,覆盖你的Fraction类上的描述方法,如下所示:
- (NSString *)description {
return [NSString stringWithFormat:@"%i/%i", numberator, denominator];
}
使用NSLog打印对象时会自动调用描述方法,因此您现在可以编写如下日志:
NSLog(@"The value of my fraction is: %@ which equals to: %.3g * 100 = %.4g%%", myFraction, [myFraction convertToNum], [myFraction multiplyBy100]);
如果出于其他原因需要打印方法,您现在可以这样写:
- (void) print {
NSLog(@"%@", self);
}
答案 2 :(得分:0)
您可以使用功能或功能。它将使用类名打印方法名称。例如
的NSLog(@"%S" __func__
);