黑马程序员技术交流社区

标题: 霸王硬上弓,强行用OC的NSLog打印九九乘法表 [打印本页]

作者: wx_D3aDvzRw    时间: 2015-10-14 00:25
标题: 霸王硬上弓,强行用OC的NSLog打印九九乘法表
本帖最后由 wx_D3aDvzRw 于 2015-10-14 15:00 编辑

#import <Foundation/Foundation.h>
@interface chengFaBiao : NSObject
-(void)jiuJiuBiao;
@end

@implementation chengFaBiao
-(void)jiuJiuBiao{
    NSString *str[10];
    str[0]=@"";
    for (int i=1; i<10; i++) {
        for (int j=1; j<i+1; j++) {
            str [ j ]=[[NSString alloc] initWithString:[NSString stringWithFormat:@"%@ %d*%d=%2d ",str[j-1],j,i,i*j]];
        }
        NSLog(@"%@",str[ i ]);
    }
    NSLog(@"paoqilaile");
}
@end
int main(int argc, const char * argv[]) {
    @autoreleasepool {
        chengFaBiao *jiu=[chengFaBiao new];
        [jiu jiuJiuBiao];
    }
    return 0;

}

作者: L503254118    时间: 2015-10-14 07:56
标题太强悍,忍不住点了进来
作者: faceseagod    时间: 2015-10-14 09:19
只是强推呀,一波上高地
作者: knight_zfh1288    时间: 2015-10-14 09:49
之前写九九乘法表的时候,一直使用printf输出的,因为NSLog自带换行,但是我进来就明白了,原来是重写了NSLog函数,感谢分享。
作者: CcrazyOne    时间: 2015-10-14 10:10
实现的时候有一个警告和一个错误啊楼主。。。
作者: Abuzzworld    时间: 2015-10-14 11:35
本帖最后由 Abuzzworld 于 2015-10-14 11:37 编辑

不用这么麻烦,用宏定义就行
  1. #define NSLog(FORMAT, ...) printf("%s\n", [[NSString stringWithFormat:FORMAT, ##__VA_ARGS__] UTF8String])
复制代码

该宏定义为不带日志时间信息、带回车的NSLog,如果想不带会回车,去掉  \n即可
作者: jing397    时间: 2015-10-14 11:59
棒棒哒!!!
作者: wx_D3aDvzRw    时间: 2015-10-14 12:18
CcrazyOne 发表于 2015-10-14 10:10
实现的时候有一个警告和一个错误啊楼主。。。

str  发布出来就自动变成str了
作者: wx_D3aDvzRw    时间: 2015-10-14 12:19
CcrazyOne 发表于 2015-10-14 10:10
实现的时候有一个警告和一个错误啊楼主。。。

str [ i ]  发不出来  自动变成str了
作者: wx_D3aDvzRw    时间: 2015-10-14 12:21
Abuzzworld 发表于 2015-10-14 11:35
不用这么麻烦,用宏定义就行

该宏定义为不带日志时间信息、带回车的NSLog,如果想不带会回车,去掉  \n即 ...

这个有点高大上
作者: wx_D3aDvzRw    时间: 2015-10-14 14:40
knight_zfh1288 发表于 2015-10-14 09:49
之前写九九乘法表的时候,一直使用printf输出的,因为NSLog自带换行,但是我进来就明白了,原来是重写了NSL ...

不是重写,而是格式化输出
作者: 黑马公公007    时间: 2015-10-15 08:21
6 6 6 6 6~




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2