SORU
5 Mayıs 2010, ÇARŞAMBA


NSLog metodu objective-C iPhone ile adı

Şu anda, kendimizi genişletilmiş günlük bir mekanizma sınıfın adını ve günlük kaynak satır numarasını yazdırmak için tanımlıyoruz.

#define NCLog(s, ...) NSLog(@"<%@:%d> %@", [[NSString stringWithUTF8String:__FILE__] lastPathComponent], \
    __LINE__, [NSString stringWithFormat:(s), ##__VA_ARGS__])

NCLog aradığımda örneğin, (@"Merhaba Dünya"); Çıkış:

<ApplicationDelegate:10>Hello world

Şimdi ben de yöntem adı gibi çıkmak istiyorum:

<ApplicationDelegate:applicationDidFinishLaunching:10>Hello world

Yani, bu bizim hata ayıklama " denilmesi olduğunu bilmek zaman daha kolay hale yapar. Biz de böyle büyük mükafat hata ayıklayıcı olduğunu biliyorum ama bazen, ben de bir giriş yaparak ayıklama yapmak istiyorum.

CEVAP
5 Mayıs 2010, ÇARŞAMBA


Teknik olarak sorunun cevabı, seni istiyorum:

NSLog(@"<%@:%@:%d>", NSStringFromClass([self class]), NSStringFromSelector(_cmd), __LINE__);

Ya da yapabilirsin:

NSLog(@"%s", __PRETTY_FUNCTION__);

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • paikimchung

    paikimchung

    12 Mayıs 2006
  • The Onion

    The Onion

    14 Mart 2006
  • FusioNGamiing

    FusioNGamiin

    10 Temmuz 2007