-(void) print {
NSLog(@"%i/%i", numberator, denominator);
}
Fraction *myFraction = [Fraction new];
[myFraction setNumberator:1];
[myFraction setDenominator:3];现在我有了其他的方法,比如同时除以分子和分母等,但是我想在NSLog中添加包含其他所有内容的myFraction,而不是在新行上添加
NSLog(@"The value of my fraction is: %i/%i which equals to: %.3g * 100 = %.4g%%", [myFraction numberator], [myFraction denominator], [myFraction convertToNum], [myFraction multiplyBy100]);有没有什么方法可以在myFractions打印中添加两个%i%i,这样我就不必键入myFraction分子/分母
例如:
NSLog(@"%@", [myFractions Print];结果: 1/3
发布于 2015-05-30 12:48:29
您可以使用description方法。您可以在类中重写它,以返回类的字符串表示形式。
在您的示例中,您可以使用以下代码:
-(NSString*) description {
return [NSString stringWithFormat:@"%i/%i", numerator, denominator];
}要打印该对象,您可以像这样使用它
NSLog("Fraction = %@", yourFractionObj);发布于 2015-05-30 12:47:26
不使用print方法,而是像这样覆盖Fraction类的description方法:
- (NSString *)description {
return [NSString stringWithFormat:@"%i/%i", numberator, denominator];
}当您使用NSLog打印对象时,将自动调用description方法,因此您现在可以像这样编写日志:
NSLog(@"The value of my fraction is: %@ which equals to: %.3g * 100 = %.4g%%", myFraction, [myFraction convertToNum], [myFraction multiplyBy100]);如果出于其他原因需要print方法,现在可以像这样编写它:
- (void) print {
NSLog(@"%@", self);
}发布于 2015-05-30 20:40:08
您可以使用func或FUNCTION。它将打印方法名和类名。例如
NSLog(@"%s",__func__);
https://stackoverflow.com/questions/30542270
复制相似问题