Objective-C'yi öğrenmeden önce C'yi öğrenin [kapalı]


107

Gelecek vadeden bir Apple geliştiricisi olarak, Objective-C'ye ve nihayetinde Cocoa Framework'e geçmeden önce C'yi öğrenmek daha iyi ise topluluğun fikirlerini almak istiyorum.

Bağırsaklarım C öğren diyor ki bu bana iyi bir temel sağlayacak.

Yanıtlar:


163

Önce C'yi öğrenirdim. Obj-C'ye geçmeden önce C'yi öğrendim (ve C'de çok şey yaptım). Asla gerçek C programcısı olmayan birçok meslektaşım var, bunlar Obj-C ile başladılar ve sadece gerektiği kadar C öğrendiler.

Arada sırada bir problemi nasıl tamamen Obj-C'de çözdüklerini, bazen çok beceriksiz çözümlerle sonuçlandıklarını görüyorum. Genellikle daha sonra bazı Obj-C kodunu saf C koduyla değiştiririm (sonuçta bunları istediğiniz kadar karıştırabilirsiniz, bir Obj-C yönteminin içeriği tamamen saf C kodu olabilir). Herhangi bir Obj-C programcısına hakaret etme niyeti olmadan, Obj-C'de çok zarif çözümler var, bunlar nesneler sayesinde çok daha iyi çalışan (ve görünen) çözümlerdir.(OOP programlama, karmaşık programları işlevsel programlamadan çok daha güzel hale getirebilir; örneğin polimorfizm mükemmel bir özelliktir) ... ve Obj-C'yi gerçekten seviyorum (C ++ 'dan çok daha fazla! C ++ sözdiziminden nefret ediyorum ve bazı dil özellikleri aşırılık. ve kötü gelişme modellerine yol açar (IMHO); ancak, bazen meslektaşlarımın Obj-C kodunu yeniden yazdığımda (ve gerçekten sadece bunu yapıyorum, bunun kesinlikle gerekli olduğunu düşünürsem), ortaya çıkan kod genellikle% 50 daha küçüktür ve kullandığı belleğin yalnızca% 25'ine ihtiyaç duyar daha önce ve çalışma zamanında yaklaşık% 400 daha hızlı.

Burada söylemeye çalıştığım şey: Her dilin artıları ve eksileri vardır. C'nin artıları ve eksileri var, Obj-C de öyle. Bununla birlikte, Obj-C'nin gerçekten harika özelliği (bu yüzden onu Java'dan daha çok seviyorum), istediğiniz zaman düz C'ye geçip tekrar geri dönebilmenizdir. Bu neden bu kadar harika bir özellik? Tıpkı Obj-C'nin saf C'nin birçok dezavantajını düzelttiği gibi, saf C de Obj-C'nin bazı dezavantajlarını düzeltebilir. Onları bir araya getirirseniz çok güçlü bir takım elde edersiniz.

Yalnızca Obj-C'yi öğrenirseniz ve C hakkında hiçbir fikriniz yoksa veya yalnızca temellerini biliyorsanız ve bazı genel sorunları ne kadar zarif bir şekilde çözebileceğini hiç denemediyseniz, aslında Obj-C'nin yalnızca yarısını öğrendiniz. C, Obj-C'nin temel bir parçasıdır. C'yi her zaman ve her yerde kullanma yeteneği onun temel bir özelliğidir.

Tipik bir örnek, verileri base64'te kodlamak zorunda olduğumuz bazı kodlardı, ancak bunun için harici bir kitaplık kullanamadık (OpenSSL kitaplığı yok). Tamamen Cocoa sınıfları kullanılarak yazılmış bir base64 kodlayıcı kullandık. İyi çalışıyordu, ancak 200 MB ikili veriyi kodladığımızda, sonsuza kadar sürdü ve bellek yükü kabul edilemezdi. Tamamen tek bir C işlevi olarak yazılmış küçük, ultra kompakt bir base64 kodlayıcıyla değiştirdim (işlev gövdesini yöntem gövdesine kopyaladım, yöntem NSData'yı girdi olarak aldı ve çıktı olarak NSString'i döndürdü, ancak işlevin içinde her şey C idi). C kodlayıcı çok daha kompakttı, saf Cocoa kodlayıcısını hız olarak 8 faktör ile geçti ve bellek ek yükü de çok daha azdı. Verileri kodlama / kod çözme, bitlerle oynama ve benzer düşük seviyeli görevler C'nin güçlü noktalarıdır.

Başka bir örnek, çok sayıda grafik çeken bazı UI koduydu. Grafikleri boyamak için gerekli verileri depolamak için NSArray'leri kullandık. Aslında NSMutableArray, grafik canlandırıldığından beri. Sonuç: Çok yavaş grafik animasyonu. Tüm NSArray'leri normal C dizileriyle, yapıları olan nesneleri (tüm grafik koordinat bilgileri nesnelerde olması gereken hiçbir şey olmadığından sonra), numaralandırıcı erişimini basit for döngüleri ile değiştirdik ve verileri bir diziden diğerine almak yerine memcopy ile diziler arasında taşımaya başladık. diğeri, indeks için indeks. Sonuç: 4 faktör oranında hızlanma. Grafik, eski PPC sistemlerinde bile sorunsuz bir şekilde canlandırıldı.

C'nin zayıflığı, her karmaşık programın uzun vadede çirkinleşmesidir. C uygulamalarını okunabilir, genişletilebilir ve yönetilebilir tutmak, bir programcının çok disiplinli olmasını gerektirir. Bu disiplin eksik olduğu için birçok proje başarısız oluyor. Obj-C, uygulamanızı sınıflar, kalıtım, protokoller vb. Kullanarak yapılandırmanızı kolaylaştırır. Bununla birlikte, gerekli olmadıkça bir yöntemin sınırları boyunca saf C işlevselliğini kullanmam. Tüm kodu bir nesnenin yöntemi dahilinde bir Objective-C uygulamasında tutmayı tercih ediyorum; diğer her şey bir OO uygulamasının amacını bozar. Bununla birlikte, yöntem içinde bazen yalnızca saf C kullanıyorum.


ve zaten c ++ 'yı biliyorsam ve iPhone / iTouch geliştirmesi için Objective-C öğrenmek istiyorsam, C'yi öğrenmek gerekli midir?
chester89

11
@ chester89: C ++ 'ı zaten biliyorsanız, Objective-C ile başlamak için C hakkında yeterince bilgi sahibisiniz.
Sven

Sven haklı, C ++ çok karmaşık ve zaten çok fazla saf C kullanıyor, C ++ 'yı gerçekten iyi biliyorsanız, C'yi de yeterince iyi bilmelisiniz.
Mecki

Bu, konuyla ilgili şimdiye kadarki en sevdiğim düşüncem, teşekkür ederim.
Morkrom

1
@FrederikWitte C ++ 'ı dışarıda bırakın, sadece yeni başlayanlar olarak kafanızı karıştıracaktır (ve mobil geliştirme için ihtiyacınız olan bir dil değildir). Java ile başlayın, iyi bir öğretim dili ve sadece Java'nın Android için geliştirmek için yeterli olduğunu bilmek (belki oyun veya video oynatıcı yazmak istemiyorsanız). Sonra C'yi ve son olarak Obj-C'yi öğrenin, bunun yerine Swift öğrenmek için tüm bunları atlamak istemiyorsanız. Senin seçimin.
Mecki

25

C ve Objective-C'yi aynı anda kolayca öğrenebilirsiniz - Objective-C'nin dile eklemelerine başlamadan önce ve acemi bir programcı olarak C'nin en küçük ayrıntılarını (işaretçi aritmetiği vb. Dahil) öğrenmeye kesinlikle gerek yoktur. Objective-C ile hızlı bir şekilde çalışmaya başlamak "nesnelerde düşünmeye" daha hızlı başlamanıza yardımcı olabilir.

Mevcut kaynaklar açısından, Apple'ın belgeleri tipik olarak C'ye aşina olduğunu varsayar, bu nedenle The Objective-C 2.0 Programlama Dili ile başlamak sizin için pek bir fayda sağlamayacaktır. Stephen Kochan tarafından hazırlanan Programming in Objective-C'nin bir kopyasına yatırım yapacağım (ne kadar çabuk başlamak istediğinize bağlı olarak, ikinci baskıyı beklemeyi düşünebilirsiniz):

Programlama Amaç-C Geliştirici Kitaplığı Programlama Hedef-C 2.0 Geliştirici Kitaplığı

Önceden deneyime sahip olmadığını varsayar ve size Objective-C ve ihtiyacınız olduğu kadar C öğretir.

Biraz hırslı hissediyorsanız, Scott Stevenson'un "Learn C" Öğreticisi ile başlayabilirsiniz , ancak bunun bazı ön koşulları vardır ("İşlevler, değişkenler ve döngüler dahil en az bir komut dosyası veya programlama dili bilmelisiniz. Sen" Ayrıca Mac OS X Terminaline komut yazmanız gerekecek. ").

(Sadece kayıt ve bağlam için: Her ikisini de 1991'de aynı zamanda öğrendim - bana herhangi bir zarar vermedi. Yine de BASIC, Pascal, Logo ve LISP'de bir geçmişim var . )


2
önce C öğrenmeyi kesinlikle gerekli bulmamalısınız. Özellikle zaten Java'nın C # dilini biliyorsanız. C # ve Java, C hedefine çok şey borçludur. Yine de C #, Helsbergs deneyimine ve Delphi ile ilgili hatalarına daha çok şey borçludur.
Daniel Honig

18

Kitabımı Objective-C üzerine yazmadan önce bu konu hakkında çok düşündüm. Öncelikle, Objective-C'yi öğrenmeden önce C dilini öğrenmenin yanlış yol olduğuna gerçekten inanıyorum. C bir prosedüreldirÖzellikle acemi düzeyinde, Objective-C'de programlama için gerekli olmayan birçok özelliği içeren dil. Aslında, bu özelliklerden bazılarına başvurmak, iyi bir nesne yönelimli programlama metodolojisine bağlı kalmanın tam tersidir. Nesne yönelimli bir dil öğrenmeden önce prosedürel bir dilin tüm ayrıntılarını öğretmek (ve bir problemin çözümüne işlevler ve yapılandırılmış programlama teknikleriyle saldırmak) iyi bir fikir değildir. Bu, programcıyı yanlış yönde başlatabilir ve potansiyel olarak iyi bir nesne yönelimli programlama disiplini geliştirmek için yanlış yönelim ve zihniyet geliştirmesine yol açabilir. Objective-C'nin C dilinin bir uzantısı olması, önce C'yi öğrenmeniz gerektiği anlamına gelmez!

Objective-C'yi ve altında yatan C dilini tek bir entegre dil olarak öğretmenin doğru yaklaşım olduğunu düşünüyorum. Bir "for" ifadesinin, üst set Objective-C dilinden değil, C dilinden olduğunu öğrenmek için hiçbir neden yoktur. Dahası, neden C dizileri ve dizeleri gibi şeyler hakkında ayrıntılı bilgi edinin (ve bunları işleyin) önceörneğin dizi (NSArray) ve dizi nesneleri (NSString) hakkında bilgi edinmek? Birçok C metni, yapılara ve yapılara işaretçilerle ve işaretçilerle diziler arasında yinelemeye çok zaman ayırır. Ancak bu C dili özelliklerinden hiçbirini bilmeden Objective-C programları yazmaya başlayabilirsiniz. Acemi bir programcı için bu çok önemli. Bu sadece öğrenme eğrisini kısaltmakla kalmaz, aynı zamanda Objective-C programları yazmak için öğrenilmesi gereken (ve bazıları seçici olarak filtrelenen) materyal miktarını da azaltır.

Altta yatan C özelliklerinin hepsini değilse de çoğunu öğrenmek isteyeceğinize katılıyorum, ancak birçoğu sınıfları ve yöntemleri tanımlamanın, nesneler ve mesaj ifadeleriyle çalışmanın ve kalıtım ve polimorfizm iyi anlaşılmıştır.


Bütün bunlar, mücadeleden ve derin anlayıştan kaçınırken hızlı öğrenmek isteyenler içindir. Daha önce başkalarına programlama yapmak ve öğretmek için tam bir programlama noob'u (11+ yıllık programlama deneyimim varken) öğretiyorum (ama bunu netleştirmek için öğretmen değilim). Ve ne var biliyor musun? Hepimizin alışkın olduğu tüm bu kavramlar çok karmaşık ve yeni başlayanlar için sezgisel değil! C, yeterince düşük seviyeli şeyleri anlamanın harika bir yoludur, böylece gelecekte onlar için biraz sihir olmayacak. Bununla birlikte, daha iyi bir programcı için öğrenme eğrisi, barbar kuralları ile ilk başta C ile daha iyidir =)
MANIAK_dobrii

15

Doğrudan Objective C'ye dalardım - eğer halihazırda birkaç diliniz varsa, öğrenme eğrisi olan sözdizimi değil, Cocoa'dır.


1
Şimdi bununla birlikte, C'yi öğrenmek için çok daha fazla materyal var. içinde gidiyor.
Spanky

10

Çoğunlukla, C öğrenmenin, hangi arenaya giderseniz gidin, en azından önceden paketlenmiş ürünleri kullanmadan önce yazılım geliştirmenin iç işleyişini anlamak için iyi bir fikir olduğunu düşünüyorum, bu şekilde bir şeyler ters giderse İç işleyişi anlama şansınız daha yüksektir. SO'da bununla ilgili pek çok tartışma var ve bu oldukça öznel bir soru, ancak genel olarak Objective-C kodunuzda doğal olarak C kullanacaksınız, bu yüzden sanırım bu gerçekten size kalmış. Ben temelden yukarı bir insanım, ama bazen bu işe yarayabilir ve tepeden tırnağa kendi yolunda çalışan birkaç zeki insan tanıyorum, bence önemli olan, iç işleyişi gerektiği gibi anlamanızdır. Yeteneklerinizi, yeteneklerinizi artırmanın yanı sıra yapmayanlardan ayırın.


İlk önce C'yi öğrenmek, zaten topraklanmış değilseniz OO programlamaya bakış açınızı da bozabilir. Yapılandırılmış ve prosedürel kodlamanın karıştırılması iyi değildir. Ama aynı zamanda OO'nun, daha düşük seviyeli kod yazmak gibi C'nin parladığı birçok yerde değerini kaybettiği de doğrudur.
Daniel Honig

1
Her geliştiricinin bir noktada C öğrenmesini önermemin nedeni, en azından OO dillerinin bile C'nin sonunda yaptığı aynı talimatlara göre derlendiği fikrine dayanmaktadır. Nesneler için değişkenler işaretçiler kullanır, Çöp Toplayıcılar malloc ve ücretsiz kullanır, dosyalar işletim sistemi tutamaçları kullanılarak kilitlenir; bir Java veya C # uygulamasında bir şeyler ters gittiğinde, bu temelleri bilmek neyin yanlış gittiğini anlamanızı büyük ölçüde geliştirebilir. Gerçekleştirilecek kaynak tahsisinin anlaşılması, belirli bir bağlam için daha optimum şekilde çalışacak daha bilinçli kod yazılmasına da yol açma eğilimindedir.
TheXenocide

7

C'nin katı bir üst kümesi olan Objective-C'yi öğrenmeden önce C'yi öğrenmek iyi bir fikirdir. Bu, Objective-C'nin tüm normal C kodunu destekleyebileceği anlamına gelir, bu nedenle C programlarında ortak olan kod, Objective- C kodu.

Her şeye yalnızca dil açısından bakmanın yanı sıra, Mac OS X'in eksiksiz bir Unix işletim sistemi olduğunu göreceksiniz. Tüm sistem seviyesi kitaplıkları C'de yazılmıştır.

Muhtemelen her ikisini de aynı anda öğrenmek mümkündür, ancak önce sağlam bir çalışma bilgisine sahipseniz, Objective-C'yi daha çok takdir edeceğinizi ve anlayacağınızı düşünüyorum.


5

Objective-C'yi ve ilerledikçe ihtiyaç duyduğunuz kadar C'yi öğrenirdim.

C'nin çok fazla bağımlı olmayacağınız alanları:

  • İşaretçi aritmetiği ve diziler. C dizilerini hiç kullanmadım.
  • C dizeleri. Objective-C'nin dizeleri işi daha güzel ve daha güvenli yapıyor.
  • Obj-C 2.1'de GC kullanıyorsanız, manuel bellek yönetimi. Bu rotayı geliştirme hızı ve performans nedenleriyle şiddetle tavsiye ediyorum.

6
Bir uyarı: Objective-C'deki Çöp Toplama, tüm platformlarda (özellikle iPhone) mevcut değildir, bu da dikkat edilmesi gereken bir şeydir.
Mark Bessey

5

Objective-C ve Cocoa'yı öğrenirken, C'nin bitlerini öğrenmekten kaçınamazsınız. Örneğin, dikdörtgenler genel olarak bir C yapısı olan CGRect ile temsil edilir.

Vaktiniz varsa, kesinlikle C'yi öğrenin. Diğerlerinin burada söylediği gibi, Kochan'ın kitabı (ikinci ve ilk baskılar) dalmak için mükemmel bir kitaptır.


4

Yalnızca Objective-C'de yapamayacağınız pek çok şey vardır, bu nedenle bazı temel C becerilerini öğrenmek oldukça kritik olacaktır. En azından değişken bildirimlerini ve temel C kütüphanesi işlevlerini anlamanız gerekecek, yoksa hayal kırıklığına uğrayacaksınız.


3

Dürüst olmak gerekirse, o kadar çok dil C sözdizimine dayanır ki, aşina olmak iyi bir şeydir. Ne olursa olsun kendinizi C'ye alıştırmak bir veya iki hafta sürer.

Bununla birlikte, sadece kendime Hedef C'yi öğrettim ve dürüst olmam gerekiyor: C deneyimimi düşündüğüm kadar faydalı bulmadım. Objective C kesinlikle benim için göz açıcıydı.


3

Aşağıdaki avantajlarla birlikte doğrudan Objective-C'ye geçebilirsiniz:

  1. Bu arada "biraz" C öğreneceksin.
  2. Sizin için uygun olan C kısımlarını öğreneceksiniz.

En azından belirli bir uygulama veya örnekle ilgilendiğimde yeni bir dil öğrenmek benim için daha kolay ve tam olarak ilgilendiğim şey olmayan başka bir şey öğrenmem gerektiğinde başarısız oluyorum.

Daha düşük seviyeli programlamayla ilgilenirseniz daha sonra C bilginizi her zaman iyileştirebilirsiniz.


3

Daha iyisi, Objective-C'ye aşina olmadığımdan daha azını bilmiyorum.
Ancak C'nin temellerini öğrenmek o kadar zor değil, çok karmaşık bir dil değil (sözdizimi açısından, ustalaşma açısından değil!), Öyleyse devam edin, zaman israfı olmayacak.
Kişisel olarak, C'yi öğrenmenin her zaman iyi bir fikir olduğunu düşünüyorum, bilgisayarın nasıl çalıştığına dair iyi bir fikir veriyor. Sonuçta, çoğu dil ve sistem hala C'de yazılıyor. Sonra devam edin! :-)

Not: "Devam et" derken "bırak" demek istemedim, sadece "daha fazla öğren, farklı öğren". C'yi öğrendikten sonra, onu asla bırakmayabilirsiniz: Java, düşük seviyeli şeyler için C yordamlarını çağırmak için JNI kullanır; Python, Lua, vb. Genellikle C koduyla genişletilir (Lua referansı, yalnızca bazı işlevler için bazı C bilgilerini varsayar. C işlevi için ince bir sarıcı) vb.


3

Evet, C dilini diğer gelişmiş dillerden önce öğrenmek, diğer dilleri hızlı bir şekilde öğrenmenize yardımcı olacaktır.


2

Wikipedia'ya göre , Objective-C, C'nin katı bir süper kümesidir. Bu durumda, önce C'yi öğrenmenizi öneririm. Daha sonra Objective-C'yi öğrendiğinizde, Objective-C'nin bir parçası olarak hangi parçaların eklendiği açık olacaktır.


2

C size montajdan çok az soyutlama verir. Hatta bazı C Derleyicileri satır içi montaj yapmanıza izin verir. Bu, bilgisayarın nasıl çalıştığını düşünmek için çok yararlı olabilir, bu da bilmek önemlidir.

Bununla birlikte, eğer Object-C ile gerçekten ilgileniyorsanız, sadece "sizin için iyi" olduğu için C ile bir şeyler yazarken takılıp kalmanıza izin vermeyin. Yeni bir beceri seti öğrenmeye çalışırken kendinizi hayal kırıklığına uğratmanıza gerek yok. Yaptıklarınla ​​eğlenmen çok önemli.



2

Hedef C, önce C'yi öğrenmeyi hak etmemek için C'den yeterince farklıdır.

Sözdizimi / dil ailesi perspektifinden, SmallTalk (C hedefinin dayandığı) çalışmaktan neredeyse daha iyidir

Pratik bir bakış açısıyla, çabalarınızı her seferinde bir dil öğrenmeye odaklayın.

Daha sonra, başka bir dil öğrenmek isterseniz, C ++, Java ve Python 1) bir grup olarak öğrenmesi kolaydır 2) popüler ve dolayısıyla pazarlanabilir 3) güçlüdür.


1
Hayır, Objective-C C'nin çok küçük bir üst kümesidir. C olmadan Objective-C'de hiçbir şey yapamazsınız. Elbette, nesne modeli smalltalk'tan alınmıştır, ancak sözdizimi çoğu kısım için yakın bile değildir.
Sven

2

Objective_C'ye başlamadan önce temel bir C bilgisine sahip olmalısınız, ancak C'nin her ayrıntısına hakim olmanız gerekmez.

Başkasına yardımcı olma ihtimaline karşı, "Objective-C'de Programlama" yı okuduktan sonra notlarımı yayınladım.

programlama ile c hedefini öğrenin


1

Zaten bildiğiniz birçok dile bağlı olarak, Objective-C'yi öğrenmeye başlamak daha iyi bir fikir olabilir. Çoğu dilde temel temelde aynıdır, farklı olan sözdizimidir. Konu Objective-C olduğunda önce C'yi öğrenmek gerçekten bir fark yaratmayacaktır.


Ama sadece en az bir başka programlama dili biliyorsa.
Sven

Ek olarak Sven'in comment @: "... işaretçiler bazı kavram vardır"
MANIAK_dobrii

1

Hemen Objective-C'yi öğrendim ve yaklaşık bir yıldır gayet iyi çalıştı, nasıl çalıştıklarını görmek için projeyi indirdiğimde C kodunu okumakta biraz güçlük çektim, ama şimdi gerçekten C'yi öğrenme ihtiyacını hissediyorum. Öğrenmeyi deneyebilirsin C'siz ObjC, ancak er ya da geç C'ye ihtiyacınız olacak.


1

IMHO kişi önce en azından biraz C ve özellikle işaretçiler hakkında bilgi edinmelidir. İşaretçi olmayan bir dilden geliyorsa bu daha da önemlidir. Pek çok insan şu şekilde kod soruyor:

NSString *string = [[NSString alloc] init];
string = @"something";

çünkü işaretçi ile işaret ettiği nesne arasındaki farkı bilmiyorlar.

Elbette , Objective-C ile başlamadan önce C'nin tamamını öğrenmek zorunda değilsiniz , ancak bazı temel şeyler kesinlikle gereklidir.


Keşke +10'a oy verebilseydim. Bir obj-c dev röportajında ​​NSInteger için işaretçi oluşturmanın mümkün olup olmadığı soruldu ... Şok oldum, çünkü bu benim için çok önemliydi, ama herkes için değil. Yani bu önemli ve unutulması kolay, bunun da anlaşılması gerekiyor.
MANIAK_dobrii

0

Heck hayır, doğrudan C hedefine gidin!

ActionScript 3'ten Objective C'ye geçtim ve zaten bir şirkette stajyerim var!

Ne istiyorsan onu yap.


Neden Nesne Yönelimli zihin durumunu tamamen gözden kaçırıp önce C öğrenmeye başlıyorsunuz? Uçurtma uçurmayı öğrenmek ve pilot olmayı ummak gibi. OOP'yi en baştan entegre etmelisiniz.
SwiftArchitect

0

Önceden başka bir dil öğrenirseniz, doğru sözdizimi yazarken her zaman kafa karışıklığı yaşarsınız. Amacı bilmiyorum, ancak Object C, nesne yöntemlerini çağırmak için garip (yaygın olmayan) sözdizimi kullanıyor. Bunu mesaj gönderme olarak adlandırır, evet, buna göre saf Nesne Yönelimli kavramdır, ancak çoğu Nesne yönelimli dil bunu arama yöntemi olarak adlandırır ve arama yöntemlerinin daha geleneksel sözdizimini kullanır. Çöp toplama da çok garip bir şey, Nesne C eski okul referans sayısına dayanıyor. Yani başka bir dilden geçiş yaparsanız kabul etmekte zorlanacaksınız. İnsanların tüm farklılıkları daha hızlı algılamalarına yardımcı olmayı umarak C / C ++ programcıları için bir Object C hızlı geçiş kılavuzu yazıyorum.


Çünkü Objective-C'de "mesaj göndermek", "bir yöntemi çağırmak" değil, aynı zamanda bir mesaj göndermek bir yöntemi çağırmaya neden olur (işlev) =) Bir nesneye bir mesaj gönderdiğinizde, bir mesaj dağıtımından geçer mekanizma (bununla ilgili olarak buradan okuyabilirsiniz: developer.apple.com/library/ios/documentation/Cocoa/Conceptual/… veya buradan: stackoverflow.com/questions/982116/… )
MANIAK_dobrii
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.