Rumah > Soal Jawab > teks badan
做iPhone/iPad需要哪些知识??
洒家只知道要会 Objective-c,
熟悉 iOS SDK
工具是 xcode
基础的 数据结构、算法、多线程、Socket、XML ,这些应该也是要掌握的,
还有些啥?
或者,能不能细化一下Objective-c的重要技术点?谢谢。。
怪我咯2017-04-17 17:32:24
Sebagai pembangun yang beralih kepada pembangunan iOS separuh jalan, berdasarkan pengalaman pembangunan saya selama dua bulan, Objektif-C tidak sukar sama sekali. Program yang saya bangunkan telah melalui perubahan berikut, dan saya juga mengambil peluang untuk meringkaskan keuntungan dan kerugian
Buat projek baharu daripada xcode, kemudian buka Editor Tetingkap (Pembina Antaramuka, singkatan IB), seret ke dalam komponen UILabel, tulis "Hello World", dan anda selesai.
Walaupun namanya "objektif-c", ia nampaknya berbeza sama sekali daripada bahasa C yang saya tulis sebelum ini. Ia penuh dengan peraturan yang tidak terkira banyaknya yang mengelirukan orang baru.
#import
dan bukannya #include
?@property
? Apakah tindak balas kimia pelik yang akan berlaku dengan (strong, nonatomic)
di dalam kurungan Mengapa saya perlu menambah @interface
selepas mengisytiharkan atribut dalam @property
? @synthesize
Kod yang saya tulis pada peringkat ini pada asasnya mengerikan Semua kod diletakkan dalam pengawal Satu adalah kerana saya malas, dan satu lagi kerana saya tidak menguasai gaya pengekodan dalam dunia pembangunan objektif-c. jadi Cukup jangan gunakan gaya. Kod anda mungkin diisi dengan
atau IBOutlet
. IBAction
Pandangan pertama ke dalam intipati
, yang diterjemahkan ke dalam bahasa Cina sebagai mod "wakil" (terjemahan literal saya sendiri ialah mod "ejen"). Walaupun model ini tidak asli kepada Koko, ia juga merupakan salah satu kegunaan terbaiknya. Mod delegate
menyelesaikan masalah interaksi antara delegate
dan controller
. view
, banyak perkara menarik akan berlaku. Selain itu, anda akan mendapati bahawa komponen asas yang disebut oleh iOS ini tidak lagi dapat memenuhi keperluan interaksi anda Pada masa ini, anda mungkin perlu mula melanjutkan beberapa komponen asasnya. seDelegate
. Biasanya pada masa ini, apabila anda melihat kod hodoh yang anda tulis sebelum ini, anda tidak boleh tidak mula memfaktorkannya, jadi teruskan dan lakukan semula. override
dunia, selain menguasai APInya, ia pada dasarnya telah menjadi bahasa alat biasa. objective-c
Tetapi harus diingat bahawa ARC, perkara pengiraan rujukan automatik, telah diperkenalkan dalam xcode 4 dan kemudiannya, dan ia dihidupkan secara lalai. Ia mungkin menyebabkan anda mengalami masalah. Ramai pemula bimbang bahawa membiarkan sistem menguruskan memori akan menyebabkan pembaziran memori Malah, selepas memahami prinsipnya, mereka mendapati bahawa pelaksanaannya sangat mudah, apabila tiada siapa yang merujuk objek, sistem akan memadamkannya secara automatik. . Membiarkannya kepada sistem juga boleh mengelakkan pembentukan pemecahan memori, tetapi jika anda perlu kerap membaca dan menulis memori dalam kawasan memori, seperti baris gilir mesej yang dilaksanakan oleh anda sendiri, adalah disyorkan untuk melaksanakannya sendiri melalui release
. struct
typedef struct _Test { NSString *name; } Test;Pengkompil akan memberitahu anda bahawa objek objektif-c tidak boleh dirujuk dalam struct. Kerana ARC tidak boleh mengawal kiraan rujukan dalam struct. Tetapi bagaimana jika anda perlu merujuk objek dalam struct Anda boleh menggunakan
untuk menyimpan penunjuk void *
typedef struct _Test { void *namePtr; } Test; // malloc的指针也不会被arc, 注意自己释放 Test test = (Test *)malloc(sizeof(Test)); test.namePtr = (__bridge void *)[NSString stringWithString:@"Hello"];Tetapi terdapat masalah dalam kod di atas,
hanyalah pembolehubah sementara Walaupun ia ditunjuk oleh penunjuk struct, seperti yang dinyatakan sebelum ini, ini tidak akan menyebabkan kiraan rujukan [NSString stringWithString:@"Hello"]
. ARC
. EXC_BAD_ACCESS
semasa untuk menunjuk ke rentetan ini supaya ia tidak akan dilepaskan @interface
@interface TestObj : NSObject { NSString *name; } - (void)initName { name = [NSString stringWithString:@"Hello"]; // 强制引用 Test test = (Test *)malloc(sizeof(Test)); test.namePtr = (__bridge void *)name; }OK, ia agak kucar-kacir selepas bercakap banyak, dan akhirnya saya mengadu tentang ARC. Kesimpulan terakhir ialah ia cepat untuk bermula, tetapi anda juga perlu belajar sendiri untuk mempelajarinya dengan baik.
阿神2017-04-17 17:32:24
Tahap pertama: sintaks objektif-c boleh dipraktikkan dengan jayanya dalam masa tiga hari
Lapisan kedua: UI pekerja asing: penggunaan UIView, UILabel, UIImageView, UITableView, UINavigationController dan UITabBarViewController. Ia mengambil masa satu hingga dua bulan untuk berlatih bergantung pada kelayakan anda.
Lapisan ketiga: pelbagai API berfungsi: permintaan rangkaian, ketekunan, buku alamat, GPS, API e-mel dan pelbagai API. Setengah tahun
Lapisan keempat: Kemajuan UI: skrin berputar, animasi teras, paparan lukisan tersuai, konteks lukisan, dsb. Setengah tahun
Tahap 5: Kemahiran lanjutan: masa jalan, cocos, OpenGLES, dsb. Amalan masih belum selesai dan tarikh yang diperlukan belum diketahui.
PHPz2017-04-17 17:32:24
Cadangan 1, jangan belajar secara sistematik
Cadangan 2, mulakan dengan menulis Hello World, tulis apl satu demi satu dan pelajari perkara yang anda gunakan
Cadangan 3, tiada buku di pasaran boleh dipercayai
Cadangan 4, baca dokumen rasmi dan kod contoh
黄舟2017-04-17 17:32:24
Sebuah gambar akan memberitahu anda! Sila baca artikel: http://www.henishuo.com/ios-study-route/