Tianyu લિયુ: અરે, તે કેવી રીતે તે દરેક વ્યક્તિ જઈને? અને આ iOS એપ છે ઉદ્દેશ સી પરિસંવાદ ના પ્રોગ્રામિંગ. અને મારું નામ Tianyu લિયુ છે. હું હમણાં એક લોવેલ જુનિયર છું કોમ્પ્યુટર વિજ્ઞાન ધ્યાન કેન્દ્રીત. તેથી આ પરિસંવાદ માં હું છું જઈને તમે ગાય્ઝ શીખવે એક એપ્લિકેશન બનાવવા માટે કેવી રીતે વિશે થોડુંક. યે, તે માટે ઉત્સાહિત કરો. અમે પણ ડાઇવિંગ શરૂ કરો તે પહેલાં, તેથી વાસ્તવિક પ્રોગ્રામિંગ બાજુ માં, વિશે વાત ઝડપથી માત્ર ખરેખર માતાનો દો શા માટે તમે એક iOS એપ્લિકેશન બીલ્ડ કરવા માંગો છો શકે? શા iOS જેથી અદ્ભુત છે? પ્રથમ સમસ્યા તેથી, પ્રથમ અમારા માટે ખરેખર અદ્ભુત છે કે વસ્તુ, ખાસ કરીને એક CS50 તરીકે વિદ્યાર્થી, એટલે કે આઇઓએસ ઉદ્દેશ સી વેલ વાપરે છે, ત્યાં સ્વીફ્ટ નામની એક નવી ભાષા, પરંતુ અમે નથી જઈ રહ્યાં છો આ પરિસંવાદ માં કે વાપરો. તમે ત્યાં, સ્વિફ્ટ રસ ધરાવતા હો તો તે વિશે એક સ્વતંત્ર પરિસંવાદ છે. પરંતુ ઉદ્દેશ સી મૂળભૂત છે સી અર્થ એક superset તમે સી ઉપયોગ કે બધું કરી શકો ઉદ્દેશ સી ભાષાંતર કરી ખૂબ જ સરળતાથી. તમે પછીથી, કે ખરેખર જોઈ શકો તરીકે કેટલાક ખૂબ જ મૂળભૂત વાક્યરચના છે, ત્યાં મૂળભૂત રીતે બરાબર એ જ, સી અને ઉદ્દેશ સી તેથી, તમે CS50 લીધો છે કારણ આ અપ સુધી, તમે પહેલેથી ઓછામાં ઓછા 40% ઉદ્દેશ સી ખબર. પણ, એપલ એક ખરેખર છે iOS માટે મજબૂત API. ખરેખર ક્રેઝી ઘણો હોય છે વસ્તુઓ તમે તેની સાથે કરી શકો છો. જે પૈકી એક કોઈને છે ખરેખર એક iOS એપ્લિકેશન બનાવવામાં નિયંત્રિત કાર, માટે જે ખૂબ રસપ્રદ છે. કદાચ એક હેલિકોપ્ટર વધુ આકર્ષક છે. પરંતુ તે કેવી રીતે શક્તિશાળી છે આ આઇઓએસ API હોઈ શકે છે. અને સાથે તમે હોઈ શકે છે હમણાં બહાર figured, સ્ટેક ઓવરફ્લો કદાચ એક છે સૌથી મહત્વપૂર્ણ ઓનલાઇન સ્ત્રોતો તમારા માટે ઉપલબ્ધ. અને સારા સમાચાર, માટે દરેક તમે કદાચ કરી શકો છો એક સમસ્યા મકાન જ્યારે લાગે તમારી ઉદ્દેશ સી અંતિમ પ્રોજેક્ટ, સ્ટેક ઓવરફ્લો જવાબ ભાગે છે. તે માત્ર અદ્ભુત છે. આ ઉપરાંત, આઇઓએસ ખરેખર એક પ્લેટફોર્મ છે તમે એક વિશાળ પહોંચી શકે છે થોડા પ્રયાસ સાથે પ્રેક્ષકો. તે એન્ડ્રોઇડ, જ્યાં જેમ નથી બધું ખૂબ ફ્રેગમેન્ટ. બધું iOS એકીકૃત છે. અને જ્યાં સુધી તમે બનાવવા તરીકે એક આઇફોન માટે એક એપ્લિકેશન, તમે કરી શકો છો ખૂબ જ સરળતાથી પોર્ટ આઇપેડ માટે કે, આઇપેડ મિની, અથવા વિવિધ આઇફોન માપો. આ બધા ખરેખર અનુકૂળ છે. અને તે માત્ર ખરેખર સારી છે તમારા મિત્રો છાપ માટે. તમે માત્ર એક આઇફોન સમાવી શકે છે અને, હેય તમારા મિત્ર કહો આ હું કરી એપ્લિકેશન છે. જો તમે કોઇ માટે આ કરી શકો જે સરસ છે ડેસ્કટોપ એપ્લિકેશન્સ,. બધા હક, હવે ચાલો ખરેખર વિચાર કરીએ જો આ ભાષા ઉદ્દેશ સી માં તેથી શા માટે આપણે સાથે શરૂ નથી કેટલાક ખરેખર મૂળભૂત વાક્યરચના. હું ઉદ્દેશ પહેલાં ઉલ્લેખ કર્યો છે સી તે સી ના મૂળભૂત superset છે જેથી મૂળભૂત વાક્યરચના ઘણો છે વાસ્તવમાં બરાબર એ જ. એક ચલ જાહેર અને બે ચલો મળીને ઉમેરી રહ્યા અમે મારિયો કરવામાં આવ્યા તરીકે બરાબર છે. અહીં નવું કંઈ. લૂપ માટે એ જ રીતે, lodger અને શરત કે જે સમાન છે. શું તમે ખરેખર તરીકે માત્ર લૂપ માટે શું કરી શકો છો એક મારિયો [અશ્રાવ્ય] માં કર્યું છે. અને તમે શરતો શું કરી શકો છો જેમ તમે શું તમારા પહેલાંના પૃ સેટમાં કરી દેવામાં આવી છે. જો કે, ઉદ્દેશ સી , સી સંપૂર્ણપણે નથી અને કંઈક છે કે ત્યાં વિચિત્ર પ્રકારની તે વિશે છે. પ્રથમ એક છે તમે છો જ્યારે કે સી પ્રોગ્રામિંગ કરી, તમે સામાન્ય રીતે કૉલ સમાવેશ થાય છે અને પછી એક લાઈબ્રેરી નામ. પરંતુ ઉદ્દેશ સી તમે તે આયાત પર ફોન કરો. મૂળભૂત રીતે, કાર્યક્ષમતા કહેતા માત્ર અલગ નામો. અને શબ્દમાળાઓ છે વાસ્તવમાં થોડો વિચિત્ર. જો તમે પ્રથમ જોઈ શકો છો કે વિચિત્ર પ્રકારની છે કે બાબત તમે એક સુંદર વિચિત્ર હોય છે માફ કરશો તમે એક સુંદર વિચિત્ર એનએસ હોય અહીં પર સાઇન ઇન કરો. અને બીજા વસ્તુ કે વિચિત્ર પ્રકારની છે તમે પહેલાં સાઇન અંતે એક હોય થયેલ વાસ્તવમાં શબ્દમાળા જાહેર. જેથી સાઇન અંતે મૂળભૂત નોંધે શબ્દમાળા શબ્દમાળા માત્ર છે કે, તે ખરેખર એક પદાર્થ છે. અમે સમજાવવા રહ્યા છીએ કે પછી તેથી ન કરતા દુઃખાવો તમે ન કરો તો જે થાય તે સમજવા. અને કન્સોલ પર છાપકામ થોડુંક છે વિવિધ કારણ અમે printf કૉલ સી, પરંતુ ઉદ્દેશ સી આપણે [અશ્રાવ્ય] પર ફોન કરો. તમે તે શું છે તે આશ્ચર્ય પામી રહ્યા હશો. કે, printf મૂળભૂત છે માત્ર એક અલગ ભાષા. બરાબર એ જ વપરાશ, બરાબર એ જ વિધેય. વેલ તે તારણ છે કે ઉદ્દેશ સી વાસ્તવમાં એક એનએસ લગભગ માં પૂર્વગ છે બધું, દરેક મૂળભૂત માહિતી પ્રકાર, NSDictionary, NSArray, NSString. આ કારણ છે એનએસ કે આવી ખરેખર આગળ પગલું માટે વપરાય છે, જે એક કંપની છે કે સ્ટીવ જોબ્સ, સ્થાપના કરી છે એક કંપની જે છે જ્યાં ભાષા ઉદ્દેશ સી જન્મ થયો છે. તેથી આ મૂળભૂત પરંપરા છે. હું તેને થોડો ખબર વિચિત્ર, પરંતુ તે એપલ છે. પણ weirder છે કે જેથી કંઈક તે કરતાં એક કાર્ય જાહેરાત છે. આ અમે શું ઘણું અલગ છે , સી જોવા અહીં તે ખરેખર કારણ હવે સી જેવું લાગતું નથી. તમે દ્વારા અહીં છે તે આ એક બુલેટ બિંદુ નથી રસ્તો, આ એક બાદ નિશાની છે. જો તમે બાદ ચિહ્ન ફકરા હોય રદબાતલ અને પછી વિધેય નામ. ચાલો માત્ર જો કહો કે અમે પછી, હેલો વર્લ્ડ હોય પરત પ્રકાર રદબાતલ હશે અમે કશું પરત કારણ કે. શું ખરેખર અદ્ભુત નહીં તમે છો જ્યારે તે છે એક કરતાં વધુ પરિમાણ ધરાવતા એક જ કાર્ય માં પસાર કે અહીં બતાવ્યા પ્રમાણે ખરેખર અદ્ભુત હશે. અમે એક પદ્ધતિ નામ છે, માટે કહેવાય addInt [અશ્રાવ્ય] અને અમે એક પરિમાણ પસાર કરી રહ્યાં. પરંતુ તે પછી, અમે હોય સાથે વધુ પદ્ધતિ નામ કોલ. અને સાથે પછી અમે પસાર કરી રહ્યાં બીજા પરિમાણ. આ ખરેખર થોડુંક વિચિત્ર છે પરંતુ આ તમામ કાર્ય જાહેરાતો આ તરીકે જ પેટર્ન અનુસરે છે. અમે સાથે શરૂ કરવા માટે એક બાદ ચિહ્ન હોય છે. આ બાદ ચિહ્ન એક વત્તા સાઇન હોઈ શકે ક્યારેક પદ્ધતિ કેવા પ્રકારના પર આધારિત તે છે. પદ્ધતિ મૂળભૂત છે કાર્ય માટે બીજું નામ. અને અમે રહ્યા છીએ સમજાવો કે પછી જ્યારે અમે પદાર્થ વિશે વાત કરી રહ્યા છીએ લક્ષી પ્રોગ્રામિંગ. તમે પ્રથમ પરત સ્પષ્ટ અંદર કૌંસ લખો જે પછી પદ્ધતિ નામ આવે છે. તમે એક પરિમાણ પસાર કરી રહ્યાં. અને તમે વધુ પરિમાણો હોય તો તમે પદ્ધતિ નામ વિસ્તારવા માટે જરૂર અને મૂળભૂત વધુ અહીં કંઈક લખો. તે તમે કરવા માંગો છો કંઈપણ હોઈ શકે છે. અમારા કિસ્સામાં તેની સાથે છે. પણ તમે કહી શકે અંતે, અથવા અથવા, અથવા તમે ઇચ્છો ગમે abc સંપૂર્ણ બાર,. અને પછી તે પછી તમે છો પરિમાણ બ પસાર. આ એક ખરેખર વિચિત્ર છે સંમેલનમાં પરંતુ અમે છે એપલ ઇચ્છતા શા જોવા જઈ ખૂબ જ ઝડપથી તે કરવા માટે. તેથી તમે કેવી રીતે કાર્ય કૉલ કરું? ઉદ્દેશ એક કાર્ય ફોન સી પણ સી અલગ છે ખરેખર, ફોન એક ઉદ્દેશ સી કાર્ય તમે કોઈને કરવાની વાત કરી રહ્યા છીએ, જેમ વધુ છે. અહીં અમે સ્વ, હોય છે જે એક પદાર્થ કહેવાય છે. તમને મારાથી કહેવાની કરી રહ્યાં છો કહેવું સ્વ વાંધો "હેલો વર્લ્ડ!" કે કાર્ય કૉલ કરવા માટે કેવી રીતે છે. એક પદાર્થ અને પદ્ધતિ નામ એકબીજા સાથે જોડાઈ. અને આ છે જ્યાં વિચિત્ર એક્સટેન્સન છે પદ્ધતિ નામ માટે ખરેખર નાટક આવે. માતાનો બીજો ઉદાહરણ જુઓ. અમે હમણાં જ કહેવાય પદ્ધતિ વ્યાખ્યાયિત addInt સાથે મૂર્ખામી ભરેલી વાહિયાત વાત મૂર્ખામી ભરેલી વાહિયાત વાત મૂર્ખામી ભરેલી વાહિયાત વાત. તમે ફોન આવે ત્યારે આ કિસ્સામાં આવું કે જે ચોક્કસ [? સંદેશ?] તે બનશે સ્વ addInt જેમ દેખાય છે: 10 સાથે: 2. તે ઇંગલિશ જેવું વાગે છે. કાર્ય હોવા છતાં કાર્ય જાહેરાત, વિચિત્ર છે ઉદ્દેશ સી માતાનો ના બિંદુ પદ્ધતિ ઘોષણા પેટર્ન, તમે ફોન આવે ત્યારે તે છે આ કાર્ય અથવા પદ્ધતિ તે વાસ્તવિક ઇંગલિશ જેમ અવાજ કરશે. તેથી તે ખૂબ જ સાહજિક છે તમે તેને પ્રવેશ મેળવવા એક વાર. ખાસ કરીને આ કિસ્સામાં, જ્યાં તમે મૂળભૂત કરી શકો કાર્ય નામ છે કે નહીં તે જોવા સૉર્ટ પોતે દસ્તાવેજીકરણ. જો તમે કોઇ જરૂર નથી વધુ સમજૂતી જોવા માટે બરાબર શું બની રહ્યું છે, શું બરાબર એક પરિમાણ કરી. તે ઉપરાંત જવું, માતાનો થોડી વાત કરો પદાર્થ કેન્દ્રિત પ્રોગ્રામિંગની વિશે બીટ. પદાર્થ કેન્દ્રિત પ્રોગ્રામિંગની છે મૂળભૂત પ્રોગ્રામિંગ એક કે તકનીકો અથવા પેટર્ન ઉદ્દેશ સી ઉદ્દેશ સી દ્વારા ઉપયોગ ઉદ્દેશ સી, ન કહેવામાં આવે સી, ખરેખર સારા કારણ માટે. અમે પ્રવેશ મેળવવા પહેલાં જેથી ઉદ્દેશ સી વાક્યરચના, માતાનો ખરેખર ઝડપથી જોવા દો બરાબર શું એક પદાર્થ છે. અમે કદાચ કંઈક કર્યું પહેલાં પદાર્થ જેવા કે જેના તમે છો જ્યારે સ્ટ્રક્ટ કહેવાય છે એક વૃક્ષ અથવા સંકળાયેલી યાદી અમલીકરણ અથવા [? પ્રયાસ. ?] તેથી, તે છે મૂળભૂત રીતે એક સ્ટ્રક્ટ જેવી, પરંતુ તે વધુ શક્તિશાળી કરતાં હોય છે. એક પદાર્થ પદ્ધતિઓ અને ગુણધર્મો ધરાવે છે. પદ્ધતિઓ મૂળભૂત વિધેયો છે. મૂળભૂત રીતે તે કાર્ય કરે ચોક્કસ પદાર્થ માટે વિશિષ્ટ. અને ગુણધર્મો મારાથી છે ક્ષેત્રમાં તમે સ્ટ્રક્ટ માં સ્પષ્ટ કરો. દરેક એક પદાર્થ માટે અત્યાર અમે કેટલીક મિલકત છે કે કેટલાક ચલો છે, જે પદાર્થ સંગત છે. અને અમે કેટલાક કાર્યો કરતા હોય છે કે જેના પણ પદાર્થ સંગત છે. અને કાર્યો પદ્ધતિઓ કહેવામાં આવે અને ચલો ગુણધર્મો કહેવામાં આવે છે. તે માત્ર એક ફેન્સી નામ છે. તમે હકીકતમાં, જ્યારે દરેક એક દૃશ્ય તમે એક iOS એપ્લિકેશન ખોલવા જ્યારે તમે જુઓ છો , આપણે માત્ર પક્ષીએ ફેસબુક અથવા કહો તમે જોઈ દરેક એક દૃશ્ય એક પદાર્થ છે. અને તે પણ સમગ્ર એપ્લિકેશન છે એક પદાર્થ સાથે શરૂ કરવા માટે. અત્યંત રસપ્રદ ખ્યાલ. અને શા માટે આપણે પદાર્થ માંગો છો પ્રોગ્રામિંગ લક્ષી? જેથી તમે કલ્પના કરી શકો છો જ્યારે તમે તે કાર્યક્રમને તે સારુ જટીલ નહીં. ચાલો માત્ર તમે છો જ્યારે હવે કહો ચેસબોર્ડ અમલીકરણ, તર્ક રહ્યું છે ખરેખર જટીલ કરી. તમને 36 અલગ હોય ટુકડાઓ, કે જેથી જો તમે બધા માટે તર્ક લખવા માંગો છો ચેસ માં 36 અલગ ટુકડાઓ, કે ઘણો જ હશે વિવિધ કાર્યો અને ચલો. તે મુશ્કેલી ઘણો છે. અને કદાચ તમે એક લખી રહ્યા છીએ અલગ પદ્ધતિ અથવા અલગ કાર્ય માટે ભાગ દરેક માટે બરાબર તેઓ શું નિયંત્રણ કરે છે. જો તમે કરો, તો પદાર્થ કેન્દ્રિત પ્રોગ્રામિંગ, આ બધા ટુકડાઓ માં શૂન્યમનસ્ક કરી શકાય એક જ પદાર્થ. અને પદાર્થ અમુક સામાન્ય હશે ભાગ અને કેવા પ્રકારના જેવા ગુણધર્મો, તે છે? તે રંગ શું છે? તે કેવી ખસેડી શકો? અને તે રીતે તમે મોટા પ્રમાણમાં હોય તે તર્ક સરળ. તેથી તે માત્ર એક ખરેખર સારો માર્ગ છે જટિલ કાર્યક્રમો બનાવવા માટે, અને સ્તરીકરણ સંબંધો આ કાર્યક્રમ અંદર, ખૂબ સરળ. અમે જોવા માટે જઈ રહ્યાં છો કારણ શા ખૂબ જ ઝડપથી જ્યારે અમે ખરેખર કરી રહ્યા છીએ અમે ખરેખર છો જ્યારે પ્રોગ્રામિંગ એક એસ કોડ કરવાનું પાછળથી સત્ર પ્રોગ્રામિંગ. વેલ કે ઉપરાંત, પદાર્થ કેન્દ્રિત પ્રોગ્રામિંગની મનોરંજન માત્ર ઘણો છે. તમે તમારા પોતાના પદાર્થ ડિઝાઇન કરવા મળી. તમને શું કરે ડિઝાઇન કરવા મળ્યું તે જાતે દ્વારા જેવો. તે માટે કોઈ અધિકાર જવાબ નથી. અને તે તદ્દન રસપ્રદ છે. જેથી પદાર્થ કેન્દ્રિત પ્રોગ્રામિંગની માં, બે મૂળભૂત ખ્યાલો વર્ગ અને હમણાં થઈ જશે. એક વર્ગ મૂળભૂત છે પદાર્થ માટે એક નમૂનો. અને એક ઉદાહરણ મૂળભૂત છે એક ચોક્કસ પદાર્થ. ચાલો માત્ર તમે એક કૂકી બનાવી રહ્યા છો કહે છે. આ કિસ્સામાં, દરેક એક તમે ખરેખર સાથે અંત કૂકી એક પદાર્થ હોઈ ચાલે છે. પરંતુ કૂકી પ્લેટ તમે સાલે બ્રેઙ ઉપયોગ તમામ કૂકીઝ એક વર્ગ હશે. એક વર્ગ મૂળભૂત નમૂનો છે. અને હમણાં એક ચોક્કસ હશે પદાર્થ કે વર્ગ બહાર બનાવનાર. અને એક ઉદાહરણ બનાવાશે વર્ગ ઘોષણા પર આધારિત, તરીકે અમે પાછળથી સ્લાઇડ્સ માં જોશો. તેથી આપણે ખરેખર ખરેખર એક કરવા દો ઝડપી ઉદાહરણ [અશ્રાવ્ય]. માતાનો અમે જાહેર કરી રહ્યાં છો હવે કહો એક બિલાડી માટે એક ઑબ્જેક્ટ. પદાર્થ પાસે જોઈએ બિલાડી વર્ગ જોઇએ કેટલાક ગુણધર્મો અને પદ્ધતિઓ હોય છે. ગુણધર્મો જોઈએ અને કેવા પ્રકારના વર્ગ પાસે બિલાડી હોવી જોઇએ? જેમ કે, રંગ, ઉંમર અને જાતિ, તે ચલો હશે કે દરેક બિલાડી સંગત છે. અને તે કેટલીક વસ્તુઓ છે અમે એક બિલાડી વર્ણન કરવા ઉપયોગ કરે છે. પદ્ધતિ અને કેવા પ્રકારના, અથવા એક બિલાડી શું કરી શકો? કેટલાક ઝડપી ઉદાહરણો પીછો હશે માઉસ, માછલી ખાય છે અથવા ફક્ત મેઓવ. આ એક ખરેખર ઝડપી છે બિલાડી વર્ગના દાખલા. અને ખરેખર ચોક્કસ બિલાડી પદાર્થ એક બિલાડી હશે આપણે સ્પષ્ટ જ્યાં રંગ, આ ઉંમર અને જાતિ. તે કિસ્સામાં, અમારા પદાર્થ છે લાંબા સમય સુધી એક વર્ગ હવે. અમે વર્ગ ના નમૂના નકલ કરો અને અમે દરેક ચોક્કસ જાણકારી સ્પષ્ટ કે જે ચોક્કસ પદાર્થ માટે તે સ્વતંત્ર બનાવવા માટે. અને તમે ફોન આવે ત્યારે એક પદાર્થ અંદર એક પદ્ધતિ, તમે માત્ર, ઓબ્જેક્ટ પર મેઓવ કૉલ જે તમે હમણાં બનાવેલ બિલાડી છે. કદાચ તમને છાપશે "હેલો વર્લ્ડ કંઈક! મેઓવ. " ખૂબ સુંદર. બધા હક, ચાલો માત્ર દો કેટલીક વિગતો પ્રવેશ મેળવવા અને બરાબર તે શું કરે છે તે જોવા iOS પ્રોગ્રામિંગ કરવામાં અનુવાદ. આઇઓએસ દરેક એક પ્રોગ્રામિંગ જેથી માં વર્ગ બે ફાઈલો અમલમાં આવશે. એક ફાઈલ અહીં છે, જે આ ઈન્ટરફેસ કહેવામાં આવે છે. બીજી ફાઇલ, અહીં છે, કે જે અમલીકરણ કહેવામાં આવે છે. સામાન્ય રીતે ઈન્ટરફેસ extension.h હશે અમે સી લાઈબ્રેરીઓમાં જોઈ હોય તરીકે. અને અમલીકરણ ફાઇલ છે extension.n છે જવું. તે વિચિત્ર પ્રકારની છે. પરંતુ ત્યાં કોઈ છે, સી ખરેખર એન અર્થ એ તે વચ્ચે મૂળભૂત તફાવત બે. તેથી આ કિસ્સામાં, અમે અમે છો જોઈ શકો છો કે ઑબ્જેક્ટ: ઇન્ટરફેસ, કેટ જાહેર. કે વારસો કહેવાય છે. અમે મૂળભૂત રીતે વારસામાં રહ્યા છો પદાર્થ વર્ગ માંથી બિલાડી વર્ગ. જેથી દરેક મિલકત અને પદ્ધતિ હતી કે અગાઉ પદાર્થ વર્ગ વ્યાખ્યાયિત આપમેળે વ્યાખ્યાયિત કરવામાં આવશે એક બિલાડી વર્ગ સાથે સાથે. આ ઉપરાંત, અમે રંગ વ્યાખ્યાયિત, જાતિ, અને વય, ત્રણ ચલો. કે ખરેખર જેવું દેખાય તમે પહેલાં કર્યું છે કંઈક. તે સ્ટ્રક્ટ જેવો દેખાય છે. જે સામાન્ય વાક્યરચના છે સ્ટ્રક્ટ જાહેરાત માટે, અને તે તદ્દન સાચી છે. અને હું પહેલા ઉલ્લેખ થી, તફાવત એક સ્ટ્રક્ટ અને એક પદાર્થ છે, જે એક મૂળભૂત તફાવતો , એક પદાર્થ પદ્ધતિ ધરાવે છે જ્યારે એક સ્ટ્રક્ટ જ ચલો છે. તેથી ગુણધર્મો ઉપરાંત અથવા અમે પદાર્થ માટે બનાવી છે ચલો, અમે કેટલીક પદ્ધતિ સ્પષ્ટ કરો. ચાલો માત્ર અમારી પાસે અહીં હવે કહો એક મેઓવ છે બે પદ્ધતિઓ, અન્ય એક પીછો માઉસ છે. અમે કદાચ એક પસાર કરવા માંગતા હો અમારા અગાઉના પદ્ધતિ પર આધારિત પરિમાણ જાહેરાત પેટર્ન. તમે કદાચ માઉસ પસાર થવું હોય. અને તમે કદાચ છો પડશે એક bool બતાવે પરત કરવા તમારા બિલાડી સફળતાપૂર્વક હોય તો માઉસ કેચ નથી અથવા. આ ઈન્ટરફેસ છે, પરંતુ અમે આ કરી શકો જુઓ કે વાસ્તવમાં ઈન્ટરફેસ કંઈપણ કરતું નથી. તે માત્ર એક કાર્યક્રમ કહે અસ્તિત્વમાં છે તે શું બિલાડી વર્ગ અસ્તિત્વમાં છે. જેથી માટે ક્રમમાં કાર્યક્રમને કંઈક કરવા, અમે અમલીકરણ ફાઇલો હોવું જરૂરી છે. અહીં, આપણે શું પ્રથમ વસ્તુ છે દેખીતી આપણે ઈન્ટરફેસ આયાત કરો. આપણે ઈન્ટરફેસ આયાત કર્યા પછી, અમે પદ્ધતિ વ્યાખ્યાયિત કરે છે. ચાલો માત્ર અહીં મેઓવ હવે કહો માત્ર છાપે કરશે "હેલો વર્લ્ડ!" કન્સોલ પર. અને અમલીકરણ બાદ ફાઇલ, અમે ખૂબ ખૂબ પૂર્ણ કરી. આ મૂળભૂત એક વર્ગ છે એક વર્ગ માટે જાહેરાત. તેથી હવે પ્રશ્ન, બને તમે કેવી રીતે એક ચલ જાહેર કરી શકું? જે રીતે તમે એક બનાવવા માટે એક વર્ગ ઉપયોગ ઉદ્દેશ સી પદાર્થ અહીં લખાયેલ છે. તમારે પ્રથમ તે સ્પષ્ટ આ, એક બિલાડી નિર્દેશક છે ઉદ્દેશ સી દરેક પદાર્થ કારણ છેલ્લે એક નિર્દેશક તરીકે લાગુ પાડવામાં આવે છે. અને તમે વર્ગ કહી, તેમને ફોન મૂળભૂત રીતે malloc છે, જે alloc, કારણ, ઓપરેટિંગ સિસ્ટમ કહેવાની કે તમે આ પદાર્થ માટે અમુક મેમરી જગ્યાની જરૂર. કે પછી તમે એક પદાર્થ હોય પહેલેથી અને તમે માત્ર તેને પ્રારંભ. આ માત્ર સંમેલનમાં છે. હું થોડો વિચિત્ર છે તે છે ખબર છે, પરંતુ આ એપલ સામગ્રી કરે છે વાસ્તવમાં કેવી રીતે છે. ગુણધર્મો થયેલ સોંપણી વાસ્તવમાં ખૂબ સરળ. તે ખૂબ સમાન છે તમે ત્યારે શું કરી રહ્યા છીએ તમે અમુક ચોક્કસ સોંપણી કરી રહ્યાં સ્ટ્રક્ટ ની અંદર ક્ષેત્ર. તમે માત્ર ચલ હોય , આ મિલકત નામ નામ આપો, અને તે માટે એક ચોક્કસ કિંમત સોંપી. અને એક પદ્ધતિ કૉલ ખૂબ સમાન છે. આ ફોન એક પદ્ધતિ છે મૂળભૂત રીતે હું વિશે વાત શું ઉદ્દેશ સી માં કોઇ પદ્ધતિ બોલાવવા માટે તમે સાઇન, એક પદાર્થ પસાર કરી રહ્યાં આ કિસ્સામાં તે, myCat જ હશે અને તમે પદ્ધતિ નામ પસાર કરી રહ્યાં. તમે પદાર્થ સાથે વાત કરી રહ્યાં છો તેમ, તમે મેઓવ જોઈએ કે myCat,. તે સારુ રસપ્રદ છે. કે પછી, એક છે વધુ જરૂરી ડિઝાઇન પેટર્ન અમે વિશે વાત કરવા જેવી વાસ્તવિક એસ કોડ માટે મેળવવામાં પહેલાં. કે ડિઝાઇન પેટર્ન કહેવામાં આવે ઘટના પ્રોગ્રામિંગ ચલાવાય. આ પણ સૌથી કદાચ એક છે iOS પ્રોગ્રામિંગ માં મૂળભૂત વિચારો. તેથી તમે કદાચ બરાબર શું ખબર નથી આ ઘટના આધારિત પ્રોગ્રામિંગ, છે પરંતુ તે ખરેખર છે કે ડરામણી નથી. સાથે સાથે વાસ્તવમાં, તમારી પાસે પહેલાથી જ તે પહેલાં કરવામાં. આ તમને કદાચ કર્યું લીટીઓ એક છે પહેલેથી જો છેલ્લા [અશ્રાવ્ય] લખવામાં CS50 ના, google.maps.event.addListener (માર્કર, )} {), કાર્ય ("ક્લિક કરો" :. તમે છે આ વાક્ય ફોન દ્વારા અનિવાર્યપણે કમ્પ્યુટર કહેવાની ઘટના કહેવાય જ્યારે કે , માર્કર પર થાય "ક્લિક કરો" તે કાર્ય વાપરો. આ ખૂબ જ અલગ છે તમે mario.c માં કરી શું. Mario.c માં તમે માત્ર કાર્યક્રમ ચલાવો એક વખત, તે તમને એક આઉટપુટ આપે છે, અને તમે પૂર્ણ કરી રહ્યાં છો. આ પ્રકારના જેવા છે એક શોટ કાર્યક્રમો. ઘટના આધારિત કાર્યક્રમો ખૂબ, ખૂબ જ અલગ છે. ફેસબુક એક છે તો, ચાલો કલ્પના કરીએ શોટ પ્રોગ્રામ તે ખરેખર સારું નથી. તમે માત્ર ફેસબુક પર જાઓ એકવાર અને તે થાય છે. તે તમને કેટલાક આઉટપુટ આપે અને તમે પાછા તે મળ્યું નથી. તમે વધુ કાંઇ મળી નથી. અહીં, ખાસ કરીને અમે ઉપયોગ પેટર્ન છે ઘટના કે જેથી ચલાવાય દરેક કાર્ય કરશે પર આધારિત ઝડપાઈ શું ઇવેન્ટ થયું છે. ઉદાહરણ તરીકે, અમે હોય તો એક બટન અને અમે સ્પષ્ટ કરી તે બટન ક્લિક થયેલ હોય ત્યારે કે, કહેવાય કાર્ય કૉલ "હેલો વર્લ્ડ!" આ રીતે આપણે ખરેખર આ કરી શકો કાર્ય તર્ક વ્યવસ્થા અત્યંત સાનુકૂળ રીતે પ્રવાહ. વપરાશકર્તાને કરી અથવા કાર્ય કહી શકો કે પહેલેથી કહેવાય છે. તે સંપૂર્ણપણે વપરાશકર્તાઓ કરવું તેના પર આધારિત છે છે. તેથી અમે આ છે કે જે જોઈ શકે mario.c કરતા ખરેખર ખૂબ સારી. અને સારા સમાચાર તે છે કે છે ખરેખર નથી એક નવી વિભાવના. તમે ગાય્ઝ પહેલાથી જ આ કરી કે છેલ્લા સમસ્યા માં સુયોજિત કરો. તેથી ઉદ્દેશ સી હોય છે ત્રણ અલગ અલગ આકૃતિઓ ઘટના આધારિત પ્રોગ્રામિંગ માટે. પ્રથમ રેખાકૃતિ છે લક્ષ્ય ક્રિયા કહેવાય, જ્યાં તમે બટનને બાંધવા અમુક કાર્ય સાથે દબાવો. તમે ક્લિક ત્યારે આપણે માત્ર, હવે કહો કેટલાક બટન, તમે અમુક કાર્ય કૉલ. આ ખૂબ જ સરળ લક્ષ્ય ક્રિયા છે. બીજા એક છે ખરેખર ખૂબ સખત એક, તે પ્રોટોકોલ પર પ્રતિનિધિમંડળ કહેવાય છે. અમે સમજાવવા રહ્યા છીએ મહાન વિગતવાર પાછળથી કે. અને ત્રીજા રીતે સૂચન છે. આ વાસ્તવમાં નથી ખૂબ મહત્વનું સુધી અમે ચિંતિત રહ્યા છો, કારણ કે તક છે કારણ કે તમે સૂચના વાપરી રહ્યા છીએ કે તમારી અંતિમ પ્રોજેક્ટ માં ખૂબ ઓછી છે. તેથી અમે તે ભાગ છોડી દો રહ્યા છીએ. અને અમે ડાઇવ રહ્યા છીએ પ્રોટોકોલ પર પ્રતિનિધિમંડળ માં. જેથી બરાબર એક પ્રોટોકોલ શું છે? અથવા એક પ્રતિનિધિમંડળ બરાબર શું છે? માતાનો સાથે શરૂ પ્રોટોકોલ વિશે વાત કરો. પ્રોટોકોલ ઘટનાઓ કશું પણ હોય છે. પરંતુ આ ઘટનાઓ માટે આપવામાં આવે છે એપલ દ્વારા તમારી સાથે શરૂ કરવા માટે. જેમ કે, હું નથી તમે કેટલા સંપૂર્ણપણે ખાતરી ગાય્ઝ એપલના મૂળ ઉપયોગ એપ્લિકેશન મેલ અથવા સંપર્ક, પરંતુ દર વખતે તમે સ્ક્રોલ ટેબલ અને ચોક્કસ કોષ દબાવો ટેબલ પર, કે જે ઘટના છે. અને તમે શું કરવા માંગો છો તમારી જાતને દ્વારા તે ઘટના, તે ખરેખર એક થોડો મુશ્કેલ છે. તેથી એપલ પણ છે કે તમે આપવામાં આવી છે તમે માત્ર સીધી ઉપયોગ કરી શકો છો કે જેથી ઘટના તમારા પોતાના પર કંઈક કરવું. પ્રોટોકોલ ખરેખર છે ખરેખર, ખરેખર વ્યાપક ઉપયોગ માં ઉદ્દેશ સી વેલ માં હકીકતમાં, દરેક એક એપ્લિકેશન કંઈક પડેલા એપ્લિકેશન પ્રતિનિધિ છે. નાજુક ની અંદર તમામ છે એપ્લિકેશન લોડ કરવા માટે પ્રોટોકોલ. ચાલો માત્ર છે હવે કહો એપ્લિકેશન માટે એક ઇવેન્ટ લોડ કર્યું. તમે કરેલા બાદ તેથી શું થાય કરીશું એક એપ્લિકેશન બનાવનાર, તમે એપ્લિકેશન ખોલો બાદ, પછી તમે પછી એપ્લિકેશન બંધ, અથવા તમે ઊંઘ આઇફોન મૂકો. આ છે કે જે બધી ઘટનાઓ છે પહેલેથી જ તમારા માટે આપવામાં આવી. અને મૂળ આ કણો અંદર કોઈ અમલીકરણ થશે. એપલ માત્ર આ કાર્ય કે તમે કહ્યું કેટલાક ઘટના બને ત્યારે શું થશે, પરંતુ તમે તે સાથે શું શું કાર્ય તમારા પર સંપૂર્ણપણે છે. પ્રતિનિધિમંડળ મૂળભૂત છે વર્ગ કહેવાની તમે આ પ્રોટોકૉલ્સ હેન્ડલ જોઈએ કે. તે થોડો છે ગૂંચવણમાં છે, પરંતુ તે જ થશે અમે શું છે જ્યારે ખૂબ સ્પષ્ટ ક્રિયા માં ઓ કોડ. પ્રોટોકોલ પર પ્રતિનિધિમંડળ ખરેખર એક છે અર્થમાં અત્યંત મજબૂત પદ્ધતિ કે અમે પ્રતિનિધિમંડળ કરો તો ચોક્કસ વર્ગ માટે, અમે અનિવાર્યપણે સંભાળી શકે ઘટનાઓ તમામ પ્રકારના અમે હોય કોઇપણ વર્ગ ઉપયોગ કરીને, ખૂબ અનુકૂળ સાધન. તેથી એક ઝડપી ઉદાહરણ માટે પ્રોટોકોલ પર પ્રતિનિધિમંડળ હું માત્ર વિશે વાત કરી છે તે જ થશે. આ પ્રોટોકોલ ખાસ કહેવાય છે tableview [અશ્રાવ્ય] ભૂમિકા પસંદ [અંતે? ઇન્ડેક્સ?] [? ભૂતકાળમાં. ?] તેથી આ એક કેચ આવશે ઇવેન્ટ જ્યારે તમે ખરેખર એક ચોક્કસ પર ટેપ તમારા tableview માં સેલ, ચાલો માત્ર તમારા મેલ માં કહેવું અથવા તમારા સંપર્કો એપ્લિકેશનમાં. એક કાર્ય અંદર આવી હતી મૂળ કંઇ કરી. કાર્ય ન કરે મૂળભૂત રીતે કંઈ પણ કરવા. પણ તમે સ્પષ્ટ કરી શકો છો કાર્ય શું કરે છે, તમે તમારી એપ્લિકેશન બહાર શું કરવા માંગો છો આપવામાં. ખૂબ અનુકૂળ સાધન. અને બધા સાથે કે , હું મૂળભૂત કહ્યું રહી કેટલાક ખૂબ જ મૂળભૂત વાક્યરચના આવરી અને ઉદ્દેશ સી માટે મૂળભૂત ખ્યાલ પ્રોગ્રામિંગ, અને અમે કેટલાક ઓ કોડ કરી શકો છો. વધુ ઉત્તેજક. તેથી ઓ કોડ ખરેખર એક છે થોડુંક જબરજસ્ત તમે પ્રથમ વખત તેને ખોલવા ત્યારે. એક ઝડપી નોંધ, જેથી તમે તો iOS વિકાસ કરવા માંગો છો, હું ખૂબ તમે મેક હોય ભલામણ કરીએ છીએ. પર iOS વિકાસ કરી કારણ વિન્ડોઝ ખરેખર હાર્ડ, ખરેખર છે. તે doable છે, પરંતુ તે ખરેખર મુશ્કેલ છે. અને તમે ચોક્કસપણે કરવું ત ફેરફાર વાપરવા માંગતા નથી. તેથી ઓ કોડમાં અમે હોય કેટલાક વિવિધ વિસ્તારોમાં. તમે પ્રથમ ઓ ખોલો ત્યારે કોડ જો તમે સંશોધન વિસ્તારમાં જોશે, જે મૂળભૂત રીતે તમે બધા બતાવે તમારી વર્તમાન પ્રોજેક્ટમાં છે કે ફાઈલો. જો તમે ટૂલબાર વિસ્તાર, હોય છે જે મૂળભૂત જોવાઈ વ્યવસ્થા છે, અથવા કેટલાક ઓછી ઝડપી ઓ કોડ પોતે વિશે સાધનો. અને આ વાસ્તવિક સંપાદક વિસ્તાર છે. આ વિસ્તાર ખૂબ સમાન ત ફેરફાર છે, ત ફેરફાર કરતા પણ વધુ સારી. અને આ અધિકાર વિસ્તારમાં, છે ઉપયોગિતા વિસ્તારમાં કહેવાય. આ વિસ્તારમાં જ્યારે ખરેખર સરળ બની જાય તમે ઈન્ટરફેસ બનાવવા અથવા સ્પષ્ટ કરી રહ્યા છીએ તમારી એપ્લિકેશન માટે કેટલાક ઝડપી સુયોજનો. અને અંતિમ વિસ્તાર ડિબગીંગ છે. આ વિસ્તારમાં કન્સોલ સમાવે છે. તેથી તમે printf કહે જ્યારેપણ, અથવા અમારા કિસ્સામાં nslog તમારા બધા પરિણામો છે જઈને અહીં છપાશે. બધા હક? હું અમે ખરેખર ઝડપથી કરી શકો ધારી iOS પ્રોગ્રામિંગ માટે એક ઉદાહરણ. અને ચાલો ખરેખર અપ ઓ કોડ ખોલીએ. તેથી તમે અપ ઓ કોડ ખોલવા દર વખતે, તે છે તે કંઈક બતાવવા માટે જવાનું. તે તમને પૂછી બનશે તમે શું કરવા માંગો છો? તમે કંઈક શરૂ કરવા માંગો છો મૂળભૂત રીતે રેન્ડમ, એક રમતનું મેદાન, તમે ફક્ત વિના કોડ ચકાસી શકે વાસ્તવમાં કોઈપણ એપ્લિકેશન માટે સંગ્રહવાથી. તમે એક નવો પ્રોજેક્ટ બનાવવા માંગો છો? અથવા શું તમે ચાલુ રાખવા માંગો છો હાલના પ્રોજેક્ટ પર કામ? અમારા કિસ્સામાં અમે રહ્યા છીએ એક નવો પ્રોજેક્ટ બનાવવા માટે. તેથી તે ખરેખર સરસ રહ્યું છે કોડ વાસ્તવમાં પહેલેથી છે કેટલાક નમૂનાઓ તમે આપવામાં વસ્તુઓ બનાવવા માટે. તમે રમત કરવા માંગો છો, કોડ ઓ ખરેખર તમારા માટે એક રમત નમૂનો છે, , પાનું આધારિત કાર્યક્રમો છે ટૅબ આધારિત કાર્યક્રમ. આ કિસ્સામાં, અમે રહ્યા છીએ ખૂબ સરળ કંઈક કરવા, અને અમે એક ઉપયોગ જઈ રહ્યાં છો એક દૃશ્ય અરજી. કે પછી માત્ર તમે કૉલ કરવા માંગો છો તમારા ઉત્પાદન, અને, તમારું નામ શું છે શું તમારી ઓળખકર્તા છે, અને તમે શું ભાષા વાપરવા માંગતા. અહીં અમે નથી માંગતા કોર ડેટા ઉપયોગ કરીને તપાસો. કોર ડેટા મૂળભૂત databasing આઇઓએસ છે. તમે કોર ડેટા કરો તો, ઓ કોડ વ્યાખ્યાયિત રહ્યું છે તમારા માટે ઘણો વધુ જટિલ વર્ગો. તેથી અમે છો, સરળ બધું રાખવા ફક્ત કોર ડેટા વિના કરવા જઇ હમણાં. અમે પ્રયત્ન જઈ રહ્યાં છો સમસ્યા નો ઉપયોગ કરીને આ સમસ્યા થાય કે છે અમે બનાવવા કરી રહ્યું છે જઈ રહ્યાં છો અમે તે મૂળભૂત સી થી મારિયો આયાત કરવા માંગો છો એક iOS એપ્લિકેશન માટે. તેથી આપણે મારિયો-આઇઓએસ કે કૉલ કરો. અલબત્ત તમે તમને તે સ્પષ્ટ કરેલ તમારા પ્રોજેક્ટ માં મૂકવા માંગો છો. અને ત્યાં અમે જાઓ. તેથી આ થોડો છે જબરજસ્ત છે, પરંતુ આ ખરેખર છે શું અમે ફક્ત સ્લાઇડ્સ પર જોવા મળી હતી. અને પ્રથમ વિસ્તારમાં અમે હમણાં જોવા મૂળભૂત પ્રોજેક્ટ રૂપરેખાંકન છે. તેથી બધું તમે કરવા માંગો છો પ્રોજેક્ટ, ઉપકરણ કયા પ્રકારની, ચાલો માત્ર કહે દો ઉપકરણ કયા પ્રકારની તમે તમારી એપ્લિકેશન પર જોવા માંગો છો? તે આઇફોન, આઈપેડ અથવા સાર્વત્રિક છે? ઉપકરણ ઓરિએન્ટેશન, આ તમામ સામગ્રી જેથી. ખૂબ મહત્વનું નથી, પરંતુ પ્રયત્ન છે, પરંતુ આ શક્યા તમે સુયોજિત છે તે સ્થળ છે તમારા પ્રોજેક્ટ માટે તમે જો ખરેખર એપલ સ્ટોર પર જમાવવા માટે કરવા માંગો છો. બધા હક, ચાલો જોવા દો અમારી કોડ અંદર છે કે જે કંઈક. ચાલો આ ફાઇલ નેવિગેટર મારફતે જાઓ. અને આ બધી ફાઇલોને કે પહેલેથી જ છે ખૂબ જ સરસ નમૂનો, સાથે આવેલ. તેથી અમે એક તેમને ક્લિક કરો ત્યારે આ તે શું લાગે છે. ત ફેરફાર કરો ખૂબ સમાન. પરંતુ તમે જોઈ શકો છો કે સિન્ટેક્સ હાઇલાઇટિંગ કદાચ છે થોડુંક માટે NICER. અને તે ખરેખર ખૂબ વધુ છે ત સંપાદન કરતા શક્તિશાળી. અને તમે સ્વતઃપૂર્ણ કરી શકો તમારા માટે વસ્તુઓ ઘણો, અમે ખૂબ જ ઝડપથી જોશો તરીકે. માતાનો તેમજ ડિબગીંગ વિસ્તારમાં ખોલો. બધા હક, અમે જોઈ શકો છો, કન્સોલ અહીં છે. આ તમને જ્યાં જોવા જઈ રહ્યાં છે તે છે તમે printf અથવા કંઈક nsloging છો. વધુ હેરાનગતિ વિના, તેથી, ખરેખર માતાનો દો એપ્લિકેશન કમ્પાઇલ અને જુઓ શું થાય. એક આવશ્યક લક્ષણ માટે ઓ કોડ છે, કે ઓ કોડ છે એક આઇફોન સિમ્યુલેટર સાથે આવે છે. જેથી તમે એક હોય તે જરૂરી નથી આઇફોન, તમારા પ્રોજેક્ટ પ્રયાસ કરવા ઓ કોડ માટે કે અનુકરણ કરી શકે છે જો તમે તરીકે અમે હમણાં જોઈ શકો છો. તે સારુ સારું છે. તે થોડી લેતી છે સમય બીટ કમ્પાઇલ અને મૂળભૂત અમે હોય ખાલી એપ્લિકેશન, જે ખરેખર કંઈ કરતું નથી. પરંતુ તે કમ્પાઇલ. તે ખરેખર અદ્ભુત છે. તે ઓહ, સી કરતાં વધુ સારી છે? બધા હક છે, તો પછી ચાલો કંઈક ઉમેરવા માટે પ્રયાસ કરો. થોડુંક છે કે એક ફાઇલ અહીં અલૌકિક સ્ટોરીબોર્ડ કહેવામાં આવે છે. આ ખરેખર એક મહાન છે ઓ કોડ માટે ભયાનક લક્ષણ. કારણ ઓ કોડમાં, તમે ડ્રેગ ખરેખર આ કરી શકો અને ઈન્ટરફેસ પર તત્વો છોડો અને તે સીધી બતાવવામાં આવશે. ચાલો કે પ્રયાસ કરીએ. અમે અહીં "હેલો વર્લ્ડ !!!" લેબલ છોડો અમે તે કેન્દ્ર શકો છો. સરસ. હવે ચાલો આ સ્ટોપ સિમ્યુલેશન ચલાવો. અહીં આપણે "હેલો વર્લ્ડ !!!" હોય અમે પણ હજુ સુધી કોઈપણ કોડિંગ ન કર્યું. હેક શું થઈ રહ્યું છે? આ કેવી રીતે શક્તિશાળી છે ઈન્ટરફેસ બિલ્ડર બની શકે છે. કોઇની પણ કહ્યું હતું કે તમે કરી શકો છો કદાચ માત્ર લેખન વગર એક એપ્લિકેશન પૂર્ણ કોડના કદાચ એક હજાર રેખાઓ ફક્ત ઈન્ટરફેસ બિલ્ડર ઉપયોગ કરીને. પરંતુ તે કદાચ નથી શ્રેષ્ઠ માર્ગ તે કરવા. હવે ચાલો ખરેખર કોડિંગ માટે નીચે વિચાર કરીએ. ફાઇલ માટે બંધારણ જેથી વાસ્તવમાં ખરેખર રસપ્રદ છે , કારણ કે તમે જોઈ શકો, કારણ કે ત્યાં ગમે ત્યાં કોઈ મુખ્ય કાર્ય છે. જુઓ? અમે પહેલાં સૂચવાયેલ, જો તમે આ જોઈ શકો છો કે એક અમલીકરણ ફાઇલ છે ચોક્કસ વર્ગ માટે. પરંતુ કોઈ મુખ્ય ગમે ત્યાં નથી. તેથી જ્યાં મુખ્ય છે? ખરેખર, ત્યાં એક મુખ્ય છે, પરંતુ મુખ્ય ખરેખર તમે માંથી છુપાયેલ છે. મુખ્ય અહીં છે. કે પરિચિત લાગે છે. જેથી મૂળભૂત શું iOS મુખ્ય અંદર કરવાનું છે મુખ્ય છે જ્યારે તે છે મૂળભૂત રીતે, કે જે કહેવાય આ એપ્લિકેશન, તે ચલાવવામાં આવે છે જ્યારે AppDelegate કહેવાય પદાર્થ બનાવે છે. હું પહેલાં સૂચવાયેલ, સમગ્ર એપ્લિકેશન ખરેખર પોતાના દ્વારા એક પદાર્થ છે. મારાથી, આ રીતે અત્યાર iOS એપ્લિકેશન કમ્પાઇલર કહેવાની છે કે બરાબર, હું બનાવવા જઈ રહી છું AppDelegate કહેવાય ઉત્પાદન, અને તે મારા એપ્લિકેશન હોઈ ચાલે છે. તેથી તમે પણ જરૂર કે AppDelegate દ્વારા અને તે વ્યક્તિ કરી રહ્યો છે તે જોવા. મારી નોકરી મારા માટે કરવામાં આવે છે. અને AppDelegate માં તમે તે જોઈ શકો છો કેટલાક ખરેખર અલૌકિક કાર્યો છે, સાથે સાથે વાસ્તવમાં પદ્ધતિઓ, કે એપલ પહેલેથી જ તમારા આપ્યો છે. આ શું છે? આ ખરેખર માત્ર પ્રોટોકોલ છે કે હું વિશે વાત કરવામાં આવી હતી. તેથી આ ઘટનાઓ છે કે એપલ સાથે શરૂ કરવા માટે આપી છે. કંઇ કેટલાક ત્યાં છે હમણાં કાર્યોને, પરંતુ અમે પ્રારંભ કરવા માંગો છો અમારા એપ્લિકેશન માટે કંઈક પ્રદર્શિત પ્રવેશ મેળવવામાં પહેલાં કોઈ પણ દૃશ્ય, અમે અહીં આ કરી. તમે માત્ર નામ વાંચી શકે છે અને હું માનું ઘટના ખરેખર ખરેખર સ્પષ્ટ છે. તેથી હવે મુખ્ય બનાવી છે AppDelegate માટે એક ઑબ્જેક્ટ. અને AppDelegate કરી રહ્યું છે શું વાસ્તવમાં પણ તમે માંથી છુપાયેલ છે. આ AppDelegate શરૂ થઈ રહ્યું છે આ ViewController સ્ટોક લોડ. તેથી તે મૂળભૂત રીતે શરૂ બનશે કે તમારી પાસે બધા જોવાઈ લોડ અને માત્ર દેખાવ રેન્ડર આ વંશવેલો પર આધારિત છે. તેથી આ કિસ્સામાં અમે માત્ર હોય અહીં છે જે એક દૃશ્ય,. તેથી કે આ જ દૃશ્ય છે કે કહી શકાય બનશે. આ ViewController તર્ક અહીં છે. આ સૂચવે છે કે વાસ્તવમાં કોડ છે અમે ફક્ત જોવા મળી દેખાવ નિયંત્રિત કરે છે. બધા હક, ચાલો અહીં કંઈક દો. તેથી viewDidLoad એક ઘટના જેવું સંભળાય છે, જ્યારે આ પણ એક પ્રતિનિધિ છે હકીકતમાં, આ પણ એક પ્રોટોકોલ છે. જેથી દૃશ્ય, લેવાય છે ગમે આ કાર્ય અંદર બધું કહેવાય આવશે. આ કિસ્સામાં અમે હેલો "જોવા જોઈએ Tianyu! "અમે કાર્યક્રમ ચલાવો તો. તે થોડો ધીમી મેળવવામાં આવ્યું સ્ટોરીબોર્ડ ફાઇલો કમ્પાઇલ. સાથે સાથે ખરેખર, અમે તેને માટે એક આઉટપુટ જુઓ છો. તે સરસ છે. હવે ચાલો ખરેખર મારિયો કરવા દો. હું વ્યાખ્યાયિત જાઉં છું ખૂબ જ ઝડપથી કાર્ય. marioWithLevels: (પૂર્ણાંક) સ્તર પરિણામો. બધા હક છે, આ ખરેખર અદ્ભુત છે ઓ કોડ ઓટો પૂર્ણ લક્ષણ. તેથી તમારા માટે લખી અને એન્ટર લખો ત્યારે, તે પહેલાથી નમૂના અપ આપ્યો છે તમારા માટે, જે સરસ છે. કે ખરેખર જોવા જોઈએ તમે ગાય્ઝ પરિચિત. માફ કરશો, તે મારા દોષ છે. બધા હક, ઠંડી. કે તર્ક ખરેખર પરિચિત જોવું જોઈએ તમે ગાય્ઝ, ખાસ કરીને માત્ર મારિયો માટે. પરંતુ અમે હવે કરો છાપશે કન્સોલ દરેક એક સમય, અમે અચાનક રાખવા માંગો કારણ અમે છાપવા કરી રહ્યા છે તે પર નજર. આપણે ઉપયોગ જઈ રહ્યાં છો બાદમાં કોઈક પરિણમે, પ્રિન્ટ પ્રદર્શિત કરવા બહાર વપરાશકર્તા માટે પરિણમી. તેથી તેના બદલે આપણે માત્ર છો બધું nslogging, જે અમે બધું સ્ટોર કરી રહ્યાં એક વિધેય કોલ પરિણામ માં, પરંતુ તર્ક બરાબર જ છે. અમે તેને, અમે સમાપ્ત કર્યા પછી માત્ર અમારી પરિણામો છાપવા. અને અહીં બદલે બહાર છાપવા મારા નામ, અમે એક કાર્ય કહી રહ્યા છીએ. માતાનો જુઓ શું થાય દો. અરે, દેખીતી. અમે એક સરસ હોય અહીં બહાર થોડી પિરામિડ. આ મૂળભૂત સી હોય, તો અમે છો માત્ર તમે કાર્ય કહી જ્યાં હેરફેર અને કેવી જેમ કાર્ય લાગતું નથી. વિવિધ કશું જ નથી. પરંતુ આ ખરેખર છે નથી ખૂબ જ આકર્ષક અહીં, અમે જોયા નથી, કારણ આઇફોન એપ્લિકેશન કશું. તેથી તમે ખરેખર app-- એક આઇફોન હોય તો તમે ખરેખર મારિયો iOS અધિકાર છે તો હવે, તમે નથી જઈ રહ્યાં છો કંઈપણ જોવા માટે કે કારણ મારિયો સાથે જે કાંઈ છે કન્સોલ માં તમામ તે આઉટપુટ વપરાશકર્તા માંથી છુપાયેલ છે. આ રીતે, તમે તે જોવા માટે શું છે જે "હેલો વર્લ્ડ !!!" છે સારી નથી. હવે આપણે વપરાશકર્તાને જોવા બનાવવા પ્રયાસ કરીએ બરાબર શું અમે બહાર છાપવા કરી રહ્યાં છો. તેથી અમે હવે લેબલ માટે જરૂર નથી. માતાનો પ્રયાસ કરીએ અને કંઈક બહાર આકૃતિ બીજું કે ઉપયોગી હોઈ શકે છે. ખરેખર એક છે કહેવાય છે કે તત્વ લખાણ ક્ષેત્રમાં, જે કરી શકે અમારા માટે ખૂબ ઉપયોગી સાબિત થઈ. તે વાસ્તવમાં એક પ્રદેશ દર્શાવે ટેક્સ્ટની ફેરફાર કરી શકો છો કે જે. જેથી ખરેખર મદદરૂપ જુએ છે. હવે આપણે ખેંચો અને તેને મૂકવા દો. વાહ, અમે એક ટેક્સ્ટ દૃશ્ય હોય અમારા દૃશ્યમાં, ખરેખર ફેન્સી. કે થોડુંક ખૂબ મોટી છે. ચાલો તે નાના બનાવે છે. કેન્દ્ર માં મૂકો. સાથે સાથે તે નાના બનાવે છે. હવે અમે જે અમે કરી શકે છે, એક ટેક્સ્ટ દૃશ્ય હોય અમારા અંતિમ પરિણામ પ્રદર્શિત કરવા માટે વાપરી શકાય. પરંતુ હમણાં તે છે ચોક્કસપણે કામ ચાલી રહ્યું નથી આ no-- કારણ કે ત્યાં ViewController આપણે માત્ર કે ખબર નથી વ્યાખ્યાયિત ત્યાં બહાર એક ટેક્સ્ટ દૃશ્ય છે. તેથી અમે કોઈક માટે જરૂર લખાણ દૃશ્ય લિંક આપણે માત્ર આ વર્ગ સાથે બનાવવામાં કે પહેલેથી અમારી સાથે આવી ગયો છે. અમે તે કરી માર્ગ છે ખરેખર ખરેખર જાદુઈ. જેથી સ્ટોરીબોર્ડ ખોલો. ત્યાં એક ખાસ [અશ્રાવ્ય] [કહેવાય? મદદનીશ?] [અશ્રાવ્ય]. તમે તે ક્લિક કરો ત્યારે, તે છે બે ફાઈલો ખોલવા જઈ. એક એક વર્ગ અને બીજો એક છે તેના માટે અનુરૂપ દેખાવ છે. તે ખૂબ, ખૂબ મદદરૂપ છે. અને આપણે માત્ર આ ક ફાઇલ જાય દો. નિયંત્રણ, આ [અશ્રાવ્ય] તર્ક છે. પ્રેસ નિયંત્રણ અને ખેંચો એ જાહેરાત માં ટેક્સ્ટ દૃશ્ય. અમે તે outputView કહી રહ્યા છીએ. કનેક્ટ કરો. અહીં અમે નવા જાહેર કરી છે અમારા ViewController વર્ગ માટે મિલકત. અને નવા મિલકત માત્ર લખાણ દેખાવ છે આપણે ઈન્ટરફેસ બિલ્ડિંગમાં બનાવી છે. તે રીતે અમે કરી શકે છે તેથી ઍક્સેસ તમામ માહિતી અને અંદર છે કે બધું ચાલાકી ભયાનક છે, કે જે એ આઉટપુટ જુઓ,. અમારા વાસ્તવિક કોડ એટલી માતાનો તેની સાથે કંઈક કરીએ. તેથી આ સમય અમે પ્રિન્ટીંગ જેવા છે ત્યારે અંતિમ પરિણામ બહાર મારિયો માટે, આપણે કંઈ પ્રવેશ ન કરશો. હું અમે ચાલુ રાખી શકે એમ થાય આ લોગીંગ નિવેદન. આ ઉપરાંત, અમે આ readout મોકલો આપણે માત્ર આઉટપુટ જુઓ, માટે બનાવવામાં જેમાં અમે ફક્ત બનાવનાર TextView એક UI છે. હવે આપણે શું થાય છે તે જોવા દો. વાહ. અમે હમણાં એપ્લિકેશનમાં એક પિરામીડ છે. વપરાશકર્તાને અમારા આઉટપુટ કારણ જોઈ શકે છે તેથી અમે અમારી કોડ માંથી આઉટપુટ નકલ કરેલ છે અમારા ઈન્ટરફેસમાં. તે ખૂબ સારી છે. તે ખરેખર છે કે નથી ઉત્તેજક અમે can-- કારણ તમામ એપ્લિકેશન થયેલ કરવાનું છે તમને એક પિરામીડ દર્શાવે, અને તમે તે વિશે શું કરી શકો છો કંઇ નથી. તે ખાસ કરીને આકર્ષક નથી. તેથી હવે આપણે એક બટન બનાવવા દો કે જોવાઈ સાફ કરશે. એક બટન મદદરૂપ થશે કે લાગે છે. ખેંચો અને છોડો. બટન એક. બટન બે. તેથી અમે ડાબી ક્લિક કરો ત્યારે બટન, દેખાવ સાફ કરીશું. સ્ક્રીન પર કશું જ હોવું જોઈએ. અને અમે ક્લિક કરો ત્યારે જમણી બટન, મારિયો, દૃશ્ય ફરી દેખાય રહ્યું છે. જેથી આ રીતે આપણે પણ કરવું જાદુ સામગ્રી, નિયંત્રણ અને ખેંચો વર્ગ ઘોષણા કરવા મદદનીશ director-- માં મદદનીશ દર્શક માં. આ કિસ્સામાં અમે સ્પષ્ટ કરી રહ્યા કે જે એક ક્રિયા પ્રયત્ન કરીશું. clearMario. અહીં અમે પહેલાથી બનાવેલ હોય clearMario નામની એક ક્રિયા, જે કહેવાય છે કે જે પદ્ધતિ છે અમે બટન સ્પષ્ટ દબાવો જ્યારે પણ. અમારા વાસ્તવમાં કોડ તેથી, માત્ર દો આઉટપુટ લખાણ અને આઉટપુટ દૃશ્ય મૂકી કંઇ માં, અને તે રીતે તે સ્પષ્ટ થઈ દેખાશે. આ ઉપરાંત, માતાનો બનાવવા દો runMario કહેવાય અન્ય પદ્ધતિ. ઓહ માફ કરશો, મિલકત કે ન હોવી જોઈએ. બધા હક છે, કે જોઈએ સાથે સાથે એક ક્રિયા થઈ. અને તે કાર્ય હોય ત્યારે કહેવાય, અમે માત્ર મારિયો દસ ચલાવો. આસ્થાપૂર્વક કે દંડ થશે. તે કમ્પાઇલ કરે છે? હા. હવે અમે એક દૃશ્ય હોય છે. અમે એક આઉટપુટ છે. અને આપણે માત્ર જુઓ શું થાય દો. કે ગઇ છે. તે ફરી પાછા છે. અહીં અમે સ્પષ્ટ કરેલ છે કાર્ય અને કેવા પ્રકારના જ્યારે કહેવાશે અમે કંઈક લખો, અમે ચોક્કસ બટન દબાવો ત્યારે. આ મારાથી છે લક્ષ્ય ક્રિયા યોજના ઇવેન્ટ માટે ચલાવાય ઉદ્દેશ સી માં પ્રોગ્રામીંગ આ ઉપરાંત, તે ખૂબ જ ઉત્તેજક નથી અમે ખરેખર બદલી શકતા નથી કારણ કે પિરામિડ કેવી ઊંચી હશે, તેથી અમે કદાચ કોઈક માંગતા વપરાશકર્તા તરફથી ઇનપુટ વિચાર અને જ્યારે ટોચ બદલવા પિરામિડ તેઓ શું આઉટપુટ પર આધારિત છે. તેથી અમે તે કરવા જઇ રહ્યા છો. તેથી અમે runMario કૉલ કરો ત્યારે આ સમય, અમે ફક્ત મારિયો સીધા નથી કહેતો. આ એક શીર્ષક. પ્રતિનિધિ. આ ખૂબ જ રસપ્રદ છે. પ્રતિનિધિ શું છે? હું અહીં સ્વ મૂકી જાઉં છું. અને અમે જોવા જઈ રહ્યાં છો શું કે પછી થાય છે. અહીં અમે મૂળભૂત રીતે રચના કરી છે એક ચોક્કસ દાખલા એક UI ચેતવણી કહેવાય દૃશ્ય. એક UI ચેતવણી દેખાવ છે મૂળભૂત રીતે શું તમે કરશે દર વખતે કંઈક પોપ્સ જોવા ઈનપુટ માટે પૂછે છે અને અપ, તમે પ્રયાસ કરી રહ્યા છો ત્યારે શું થશે જેવી એક એપ્લિકેશન સ્ટોર પર કંઈક ખરીદી માટે. આ ઉપરાંત, તમે પછી તે બનાવવા માટે, અમે ફક્ત ચેતવણી બતાવવા. બધા હક છે, માત્ર ઝડપથી ચાલો ટેસ્ટ કે કામ અથવા નથી. કે ખૂબ જ ઠંડી છે. હવે આપણે ખરેખર એક બનાવવા દો આ UI એ ચેતવણી માટે ઇનપુટ ક્ષેત્ર. આ અમે તે કરવા કેવી રીતે છે. અને અમે એક હોવા જોઈએ ચેતવણી માટે ઇનપુટ દૃશ્ય. ખૂબ જ ઠંડી. ચાલો માત્ર 10 કહે છે. તે અધિકાર કંઇ કરવાનું નથી હવે કોલ ખરેખર કારણ મારિયો ચલાવવા માટે બદલી ન હતી. તેથી આ થોડી બની છે થોડી વિચિત્ર જ્યારે પણ કારણ અમે જ્યારે પણ અમે નીચે એક બટન દબાવો ચેતવણી દૃશ્યમાં એક બટન દબાવો, કંઈક, થાય કરીશું પરંતુ તે ન થાય. અમે તે કેવી પકડી શકું? કેવી રીતે અમે એક વપરાશકર્તા જાણો છો કે ચેતવણી દૃશ્ય બરતરફ કરી છે અને પહેલેથી કારણ કે સંખ્યાબંધ દાખલ થયો હમણાં કશું ખરેખર શું થઈ રહ્યું. સારું, તમે અનુમાન લગાવ્યું છે શકે તે હક, પ્રતિનિધિમંડળની. જેથી તમામ ઉપરાંત આ જાહેરાતો, અમે નવા પ્રતિનિધિમંડળ માટે ઉમેરવાની જરૂર તે યુઆઇ ચેતવણી દૃશ્ય પ્રતિનિધિ કહેવાય. દરેક એક કે જેથી ક્રિયાપ્રતિક્રિયા અથવા ઘટના અમે હોય રહ્યા છીએ કે આ UI એ ચેતવણી અર્થે નિયંત્રિત કરી રહ્યું છે સાથે સાથે અમારા વર્ગ દ્વારા. જેથી ઉપરાંત, હશે અનુક્રમણિકા પર ચેતવણી દૃશ્ય ક્લિક કરો બટન. આ પહોંચી છે. અમે હોય તે કિસ્સામાં આવું પહેલેથી તેથી અમે હોય એ પ્રોટોકોલ બહાર આવ્યું છે કે જ્યારે ઘટના નિયંત્રિત કરશે આપણે ગયું બટન ક્લિક ચેતવણી દૃશ્ય પર. જેથી દર વખતે આપણે બરતરફ ચેતવણી દૃશ્ય, આ શું કરવું જોઈએ. મને માત્ર ખૂબ જ ઝડપથી તે ચકાસવા દો. સાથે સાથે ખરેખર, આપણે અહીં પહોંચી ગયા છો. અહીં, અમે શું નહીં કરે વાસ્તવમાં ખરેખર છે વિચાર તેથી અમે બહાર વિચાર કરવા માંગો છો કરવું વિચાર અમે અગાઉ હોય છે કે જે લખાણ ચેતવણી દૃશ્યમાં દાખલ થયો હતો. અને લખાણ પર આધારિત છે, અમે છો મારિયો પ્રદર્શિત કરવા જઈ રહી છે. આ ખૂબ જ ઝડપથી બહાર કરે તે ખરેખર કામ કરે છે કે નહીં જો. તે કિસ્સામાં તેથી, અમે ઇનપુટ તો અમે 10 જોવા જોઈએ, 10, ચાલો કહે. ખૂબ જ સારી, અમે અહીં સંખ્યાબંધ ધરાવે છે. તે ખૂબ સારી છે. હવે જો છેલ્લા પગલું તેથી હોઈ કરશે છેલ્લું પગલું અમે હમણાં શું કરવાની જરૂર માત્ર એક સાથે મારિયો કૉલ આવે સ્તર ઇનપુટ પર આધારિત કે અમે ચેતવણી દૃશ્ય માં મૂકી છે. તેથી અમે કન્વર્ટ કરવાની જરૂર iOS માં આ શબ્દમાળાને. સ્ટેટિક ઓવરફ્લો ખૂબ ભયાનક છે. અને પછી અમે માત્ર સ્વ કૉલ marioWithLevels મૂલ્ય. માતાનો ચાલશે કે નહીં તે જોવા દો ખરેખર કામ નથી અથવા. અમે પહેલાથી જ એક પિરામીડ આપવામાં રહ્યા છો. માતાનો ઊંચાઇ બદલવા માટે પ્રયાસ કરીએ. કે ખરેખર કામ કરે છે. તે સરસ છે. કે હવે તમે કરી શકો છો તેથી માત્ર ઇનપુટ તમે ઇચ્છો તે કોઇપણ કિંમત. ચાલો માત્ર ચાર કહે છે. કે ખરેખર અદ્ભુત છે. તેથી આ મૂળભૂત છે ખરેખર ઝડપી ઉદાહરણ માટે ઓ કોડમાં એક પ્રોજેક્ટ બનાવવા માટે કેવી રીતે અને ખરેખર ઝડપથી વાયર માટે કેવી કેટલાક ખરેખર સરળ ઘટનાઓ અને કાર્યો. તેથી સ્ત્રોત રહ્યું છે પછીથી અમને મૂકી શકાય. જો તમને રસ છો, તેથી જો આઇઓએસ મારિયો કેવી રીતે કામ કરે છે, હું બરાબર એ જ મૂકી જાઉં છું પાછળથી આ CS50 વેબસાઇટ પર પ્રોજેક્ટ. અમે મૂળભૂત રીતે પૂર્ણ કરી ઉનાળામાં, અમે અને સમાપ્ત પહેલાં હું માત્ર તમને ગાય્ઝ નિર્દેશ કરવા માંગો છો કેટલાક ખરેખર અદ્ભુત સંસાધનો કે ઓનલાઈન ઉપલબ્ધ છે. દેખીતી એપલ દસ્તાવેજીકરણ ખૂબ મદદરૂપ થઈ રહ્યું છે. પરંતુ તે ઉપરાંત, હું ખાસ કરીને ચાર સ્ત્રોતો, કોડ શાળા ભલામણ વૃક્ષ ઘર, AppCoda અને WWDC વિડિઓઝ. કોડ શાળા અને વૃક્ષ ઘર છે બે ઓનલાઇન શિક્ષિત વેબસાઇટ્સ, જે ખાસ ધ્યાન કેન્દ્રિત સોફ્ટવેર એન્જિનિયરિંગ પર. ખાસ કરીને કોડ શાળા માટે, તેઓ iOS પર ખરેખર સારું ટ્યુટોરીયલ છે. કે તેના માટે ખરેખર ઝડપી ઉદાહરણ છે. તેઓ ખરેખર એક ખરેખર cute-- બનાવી કે થોડું પહોંચેલું આઇફોન જોવા ત્યાં પર વરણાગિયું માણસ, તે ખરેખર અદ્ભુત છે. અને જે રીતે તેઓ ઉદ્દેશ સમજાવે સી વાક્યરચના સંપૂર્ણપણે સ્પષ્ટ છે. વૃક્ષ ઘર જ છે. અને AppCoda એક મંચ છે. તે વાસ્તવમાં ચાલી હતી કે બ્લોગ છે ખરેખર અનુભવ ઉદ્દેશ સી દ્વારા પ્રોગ્રામર. અને AppCoda માં તે બધા ટ્યુટોરિયલ્સ છે ખૂબ ટૂંકા અને અમલ કરવા માટે સરળ, ખૂબ આગ્રહણીય. અને જો તમે વિકાસકર્તા છો, ચોક્કસપણે શકો જવા કેવી રીતે WWDC વિડિઓઝ જ્યાં તમે કરી શકો છો તાજેતરની iOS પ્રોગ્રામિંગ વિશે જાણવા યુકિતઓ, API નો અને લાઈબ્રેરીઓ. જેથી ખૂબ ખૂબ છે આ પરિસંવાદ માટે. ખૂબ આભાર. અને હું તમને મજા હોય છે આશા તમારા પોતાના iOS એપ્લિકેશન બનાવવા.