Saya mencoba untuk mencatat (mencetak) nilai objek CGSize seperti ini:
CGSize sizeOfTab = CGSizeMake(self.frame.size.width/tabCount, 49);
NSLog(@"size of tab is %@",sizeOfTab);
Apakah ada yang salah dalam kode ini; aplikasi saya mogok saat kontrol datang ke pernyataan NSLog.
Terima kasih Prasad
iphone
objective-c
ios4
Prasad
sumber
sumber
Jawaban:
Anda dapat memanggil berikut ini untuk mencetak nilai yang Anda cari:
NSLog(@"width = %f, height = %f", mySize.width, mySize.height);
sumber
Coba ini
CGSize sizeOfTab = CGSizeMake(self.frame.size.width/tabCount, 49); NSLog(@"size of tab is %@",NSStringFromCGSize(sizeOfTab));
Kemacetan terjadi karena
sizeOfTab
tidak dalamNSString
format.sumber
sizeOfTab
bukan objek (objek apa pun akan bekerja, bukan hanya aNSString
).CGSize
adalah sebuah struct.self.frame.size.width/tabCount
Seperti yang disebutkan JoeBlow ( saya perhatikan setelah mengetik dan memformat jawaban ini ), ada juga fungsi UIKit
NSStringFromCGSize()
, untuk pencetakan cantik, dan kebalikannyaCGSizeFromString()
, untuk membuatCGSize
struct dari suatuNSString
objek.Apple mendokumentasikan
string
parameter sebagai berikut:CGSizeFromString(
string
)
Contoh
CGSize size = CGSizeFromString(@"{320,568}"); NSLog(@"Pretty printed size: %@", NSStringFromCGSize(size));
Keluaran
Pretty printed size: {320, 568}
Fungsi Berguna Lainnya ( Referensi CGGeometry )
sumber
% @ berarti Anda mencoba memasukkan string. CGSize bukanlah string, dan tidak dapat secara otomatis diubah menjadi string. Itulah mengapa aplikasi Anda mogok. Sebaliknya, Anda perlu membuat log properti individu secara terpisah, seperti
NSLog(@"width is %f, height is %f.", sizeOfTab.width, sizeOfTab.height);
% f digunakan karena properti lebar dan tinggi berjenis float .
Untuk konversi format lainnya, lihat dokumen: http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/Strings/Articles/formatSpecifiers.html
sumber
CGSize
memiliki lebar dan tinggi memebers yang bertipeCGFloat
. Anda dapat mencetaknya menggunakan berikut iniNSLog(@"Width = %f, height = %f",sizeOfTab.width, sizeofTab.height);
sumber
Berikut self.view adalah view dari UIView Class. Anda dapat mencetak bingkai apa pun dengan log ini.
NSLog(@"self.view.Frame=%@", NSStringFromCGRect(self.view.frame));
sumber