NSLog C Quruluşları (CGRect və ya CGPoint kimi) mümkündürmü?

C strukturlarını düzəltdikləri hər bir əmlakını açıq-aşkar göstərmədən düzəldə bilərsiniz.

yəni. Bu kimi bir şey edə bilmək istəyirəm:

 CGPoint cgPoint = CGPointMake(0,0); NSLog(@"%@",cgPoint); 

Aydındır ki, "% @" işləməyəcək.

390
15 февр. set 15 gün. 2009-02-15 05:28 '09 da 5:28 'də 2009-02-15 05:28
@ 8 cavab

Aşağıdakıları edə bilərsiniz:

 NSLog(@"%@", NSStringFromCGPoint(cgPoint)); 

Müxtəlif CG strukturlarını NSString s-ə çevirmək üçün UIKit tərəfindən verilmiş bir sıra funksiyalar vardır. Bu işə yaramadığı səbəb %@ bir obyekt deməkdir. CGPoint bir C strukturudur (və bu səbəbdən CGRectCGSize s).

771
15 февр. Alex tərəfindən 15 Fevralda cavab verildi 2009-02-15 06:18 '09 at 06:18 PM 2009-02-15 06:18

Kimi bir neçə xüsusiyyət var:

 NSStringFromCGPoint NSStringFromCGSize NSStringFromCGRect NSStringFromCGAffineTransform NSStringFromUIEdgeInsets 
border=0

Məsələn:

 NSLog(@"rect1: %@", NSStringFromCGRect(rect1)); 
224
04 марта '11 в 18:20 2011-03-04 18:20 04 mart 'da 18:20' da steve cavab verdi 2011-03-04 18:20
 NSLog(@"%@", CGRectCreateDictionaryRepresentation(rect)); 
16
20 нояб. Abhishek Bedi tərəfindən verilmiş cavab 20 noyabr 2012-11-20 13:17 '12 at 13:17 2012-11-20 13:17

NSRect istifadə etmək üçün aşağıdakı makroyu istifadə edirəm:

 #define LogRect(RECT) NSLog(@"%s: (%0.0f, %0.0f) %0.0fx %0.0f", #RECT, RECT.origin.x, RECT.origin.y, RECT.size.width, RECT.size.height) 

CGPoint üçün oxşar bir şey edə bilərsiniz:

 @define LogCGPoint(POINT) NSLog(@"%s: (%0.0f, %0.0f)", #POINT POINT.x, POINT.y); 

Aşağıdakı kimi istifadə:

 LogCGPoint(cgPoint); 

Aşağıdakıları üretecek:

 cgPoint: (100, 200) 
13
15 февр. Cavab 15 fevralda e.James tərəfindən verilir. 2009-02-15 06:50 '09 saat 06:50 'da 2009-02-15 06:50

NSValue üçün NSValue istifadə edə bilərsiniz. Bir NSValue obyekti bir C və ya Objective-C məlumat elementi üçün sadə bir konteynerdir. Bu int, float və char kimi scalar növləri, həmçinin göstəricilər, strukturlar və obyekt identifikatorları ola bilər.

Məsələn:

  CGPoint cgPoint = CGPointMake(10,30); NSLog(@"%@",[NSValue valueWithCGPoint:cgPoint]); 

Çıxış: NSPoint: {10, 30}

Bu sizə kömək edir.

9
08 июля '13 в 15:33 2013-07-08 15:33 Cavab Nishant Tyagi tərəfindən verilir 08 iyul 'saat 15:33' də 2013-07-08 15:33

Yığın yuxarı daşqınlar RSS-də bu problemi mənim üçün qaldırdığından, bu mənim ümumi qərarımdır : JAValueToString

Bu JA_DUMP(cgPoint) yazmaq və cgPoint = {0, 0} yazmaq üçün imkan verir.

5
13 июня '11 в 22:29 2011-06-13 22:29 Cavab Jens Ayton tərəfindən 13 iyun 2011-ci il tarixində saat 22: 29-da verilir

Bəli, bir neçə funksiyadan istifadə edə bilərsiniz: Birincisi CGPoint strukturunu simliya çevirmək lazımdır, bax

1) NSStringFromCGPoint,
2) NSStringFromCGSize,
3) NSStringFromCGRect,
4) NSStringFromCGAffineTransform,
5) NSStringFromUIEdgeInsets,

Məsələn:

1) NSLog (@ "NSStringFromCGPoint =% @", NSStringFromCGRect (cgPointValue));

Bu kimi ...

5
10 марта '17 в 17:26 2017-03-10 17:26 Cavab Vaibhav Şiledar tərəfindən verilir 10 Mart 17:26 2017-03-10 17:26
 NSLog(@"%@",CGRectCreateDictionaryRepresentation(rect)); 
1
30 марта '16 в 12:02 2016-03-30 12:02 Cavab Uday'da verilir . Mart 30, '16 'da 12:02 2016-03-30 12:02

etiketləri haqqında digər suallar və ya bir sual