การจัดการบันทึก Objective-C
วิธี NSLog
ในการพิมพ์บันทึกเราใช้วิธี NSLog ในภาษาโปรแกรม Objective-C ซึ่งเราใช้จากตัวอย่าง Hello World
ให้เราดูรหัสง่ายๆที่จะพิมพ์คำว่า "Hello World" -
#import <Foundation/Foundation.h>
int main() {
NSLog(@"Hello, World! \n");
return 0;
}
ตอนนี้เมื่อเราคอมไพล์และรันโปรแกรมเราจะได้ผลลัพธ์ดังต่อไปนี้
2013-09-16 00:32:50.888 demo[16669] Hello, World!
การปิดบันทึกในแอพ Live
เนื่องจาก NSLogs ที่เราใช้ในแอปพลิเคชันของเรามันจะถูกพิมพ์ลงในบันทึกของอุปกรณ์และไม่เป็นการดีที่จะพิมพ์บันทึกในเวอร์ชันสด ดังนั้นเราจึงใช้คำจำกัดความประเภทสำหรับการพิมพ์บันทึกและเราสามารถใช้ได้ดังที่แสดงด้านล่าง
#import <Foundation/Foundation.h>
#if DEBUG == 0
#define DebugLog(...)
#elif DEBUG == 1
#define DebugLog(...) NSLog(__VA_ARGS__)
#endif
int main() {
DebugLog(@"Debug log, our custom addition gets \
printed during debug only" );
NSLog(@"NSLog gets printed always" );
return 0;
}
ตอนนี้เมื่อเราคอมไพล์และรันโปรแกรมในโหมด debug เราจะได้ผลลัพธ์ดังต่อไปนี้
2013-09-11 02:47:07.723 demo[618] Debug log, our custom addition gets printed during debug only
2013-09-11 02:47:07.723 demo[618] NSLog gets printed always
ตอนนี้เมื่อเราคอมไพล์และรันโปรแกรมในโหมดรีลีสเราจะได้ผลลัพธ์ดังต่อไปนี้
2013-09-11 02:47:45.248 demo[3158] NSLog gets printed always