આઇફોન પર વિકાસશીલ (5): અમારી પ્રથમ એપ્લિકેશન (III)

En અમારા અગાઉના લેખ અમે અમારી એપ્લિકેશનના ઇન્ટરફેસમાં એક લેબલ, એક ટેક્સ્ટફિલ્ડ અને બટન શામેલ કર્યું હતું. અમે ઇચ્છતા હતા કે બટન પર ક્લિક કરતી વખતે ટેક્સ્ટફિલ્ડમાં જે દાખલ કરવામાં આવ્યું હતું તેની સાથે લેબલની સામગ્રીને અપડેટ કરવામાં આવે. અમે (પગલું 1) પ્રોજેક્ટ બનાવ્યો હતો, અને (પગલું 2) સ્ક્રીનને વ્યાખ્યાયિત કરવા માટે ઇંટરફેસબિલ્ડરનો ઉપયોગ કર્યો હતો. હવે અમે એપ્લિકેશનને કાર્યરત કરવા માટે બાકીના પગલાઓ સાથે ચાલુ રાખીશું.

પગલું 3. વ્યૂ કંટ્રોલરમાં ચલો બનાવો.

અમારી પાસે યોગ્ય રીતે અમારું ઇન્ટરફેસ છે. હકીકતમાં, જો આપણે બિલ્ડ એન્ડ ગો કર્યું હોય તો અમે જોઈ શકીએ છીએ કે આપણે કેવી રીતે કરી રહ્યા છીએ:

પરંતુ સ્વાભાવિક છે કે બટન દબાવતી વખતે કંઇ થતું નથી, કારણ કે આપણે ઓછામાં ઓછું આવશ્યક વિકાસ કર્યું નથી. આ પગલા 3 માં અમે હેલોવર્લ્ડવિઝ કંટ્રોલરમાં ચલો અને પદ્ધતિઓ રજૂ કરવા જઈ રહ્યા છીએ, બંને ઇન્ટરફેસમાં (. એચ ફાઇલ) અને અમલીકરણમાં (. એમ ફાઇલ). આ કરવા માટે, જેમ કે અમે પાછલી પોસ્ટના અંતમાં સૂચવ્યું છે, આપણે જાણવું પડશે કે ટેક્સ્ટફિલ્ડ એ યુઆઈટી ટેક્સફિલ્ડ વર્ગને અનુરૂપ છે, અને લેબલ એક યુઆઈએબીએલ વર્ગને અનુરૂપ છે. આ 2 વર્ગો UIKit ફ્રેમવર્કમાં છે.

જો આપણે ઇન્ટરફેસ બિલ્ડરને બંધ અને સાચવ્યું નથી, તો અમે તે કરીએ છીએ અને એક્સકોડમાં અમે હેલો વર્લ્ડવિઝકોન્ટ્રોલિયરએચ ફાઇલ ખોલીએ છીએ. હમણાં કોડમાં કંઈક આવું હશે:

અમે પહેલાથી જ કેટલાક ઉદ્દેશ્ય-સી તરફ ધ્યાન આપી રહ્યા છીએ. આ કોડમાં આપણે UIKit લાઇબ્રેરીમાંથી આયાતની ઘોષણા જુએ છે, જ્યાં UILabel અને UITextField વર્ગો છે. આપણે જોઈએ છીએ કે ઇન્ટરફેસ કેવી રીતે જાહેર થાય છે, અને તે UIKit ના સામાન્ય UIViewController થી વિસ્તૃત છે.

ઇન્ટરફેસ કોડની અંદર આપણે નીચેનો કોડ શામેલ છે:

હવે અમે સમજાવી શકીએ કે આપણે શું કર્યું છે:

  • અમે @ ઇંટરફેસ બ્લોકની અંતર્ગત 2 ચલના નામ * લેબલ અને * ટેક્સ્ટફિલ્ડ સાથે અનુક્રમે યુઆઈઆબેલ અને યુઆઈટી ટેક્સફિલ્ડ પ્રકારનાં 2 ગુણધર્મો જાહેર કર્યા છે. આગળ IBOutlet દેખાય છે. આ બધું શું છે? આપણે પોતાને સમજાવીએ. IBOutlet એક પ્રકારનું ચલ નથી; એક નિર્દેશ છે જે ઇન્ટરફેસ બિલ્ડરને યુઆઈઆબેલ અને યુઆઈટી ટેક્સફિલ્ડ પ્રકારનાં આ ચલોનું અસ્તિત્વ જાણવા માટે મદદ કરે છે. માર્ગ દ્વારા, યાદ રાખો કે પાછલા લેખમાં અમે તમને ઇન્ટરફેસ બિલ્ડરમાં નિયંત્રણ પ્રકારો (બટનો, લેબલ, ટેક્સ્ટ ફીલ્ડ, વગેરે) ના ચલ પ્રકારના જાણવાની યુક્તિ આપી હતી. બીજી બાજુ, ચલ નામની સામે * નો મુદ્દો જાવા પ્રોગ્રામરોને આશ્ચર્યચકિત કરી શકે છે, સીના એટલા નહીં ... પરંતુ જાણો કે આ રીતે તમે ઉદ્દેશ-સીમાં દાખલા ચલો લખી શકશો.
  • યુઆઈએબીએલ અને યુઆઈટી ટેક્સફિલ્ડ પ્રોપર્ટીઝ જાહેર કરવામાં આવી છે. અસામાન્ય અને જાળવી રાખીએ હવે આપણે જોશું નહીં, તે મેમરી મેનેજમેન્ટથી સંબંધિત છે.
  • આપણે જોઈએ છીએ કે આપણે મેથડ અપડેટ ટેક્સ્ટ જાહેર કરીએ છીએ. તેની સામે એક સાઇન છે, તે દર્શાવે છે કે તે એક દાખલાની પદ્ધતિ છે, અને વર્ગ પદ્ધતિ નથી (તેમના માટે + + ચિન્હ સમજાવાયેલ છે). અમે આને સમજાવવા જઈ શકતા નથી કારણ કે આ મૂળભૂત objectબ્જેક્ટ-લક્ષી પ્રોગ્રામિંગ છે ... તે પદ્ધતિ કંઈપણ (એટલે ​​કે રદબાતલ) પરત કરતી નથી અને પ્રકાર આઈડીનો પરિમાણ મેળવે છે. મૂળભૂત રીતે તે theબ્જેક્ટના ઓળખકર્તાનો સંદર્ભ આપે છે જે આપણી અપડેટટેક્સ્ટો પદ્ધતિથી ક callલ કરશે, જે લેબલનું મૂલ્ય અપડેટ કરશે. આપણે ધારી શકીએ કે તે નિયંત્રણ બટન જ હશે ...

એકવાર આ થઈ જાય, પછી આપણે પગલું 3 સાથે પૂર્ણ કરીશું.


પગલું 4. નિયંત્રક વેરીએબલ્સ પર જુઓ નિયંત્રણો બાંધો.

જો આપણે સમીક્ષા કરીએ, તો એક તરફ આપણે ઇન્ટરફેસ બિલ્ડર સાથે અમારું ઇન્ટરફેસ વિકસિત કર્યું છે, અને બીજી બાજુ આપણી પાસે હેલોવર્લ્ડવિઝકોન્ટ્રોલલેઅર (હેલોવોર્લ્ડવિઝકોન્ટ્રોલલેઅર કન્ટ્રોલર ક્લાસનું ઇન્ટરફેસ) તે નિયંત્રણોથી સંબંધિત વેરીએબલ્સ છે. તેમ છતાં, દૃશ્ય અને નિયંત્રક વચ્ચે હજી કોઈ સંબંધ નથી, એટલે કે, અમે સંબંધિત કોઈ સૂચનો આપ્યા નથી, ઉદાહરણ તરીકે, આપણે યુ.આઈ.ટી.એસ.એફ.ફિલ્ડના પ્રકારનાં ચલ સાથે ઈન્ટરફેસ બિલ્ડરમાં ડિઝાઇન કરેલ ટેક્સ્ટ ફીલ્ડ. વર્ગ. હવે આપણે આ કાર્ય કરવા જઈ રહ્યા છીએ. હેલોવર્લ્ડવિઝકોન્ટ્રોલ.અક્સીબ પર ક્લિક કરીને અમે ફરીથી ઇન્ટરફેસ બિલ્ડર ખોલીએ છીએ, ટેક્સ્ટ બ boxક્સ પર ક્લિક કરો અને ઈન્સ્પેક્ટર પેલેટમાં આપણે બીજા ટેબ પર જઈએ છીએ (ટેક્સ્ટ ફીલ્ડ કનેક્શન્સ) આપણે જોઈએ છીએ કે ત્યાં એક વિભાગ છે જેને રેફરન્સિંગ આઉટલેટ્સ કહેવામાં આવે છે, કંઈપણ ચિહ્નિત કર્યા વિના. એનો અર્થ એ છે કે આ સમયે ઇંટરફેસ બિલ્ડરને આ ટેક્સ્ટ ફીલ્ડ અને ક્લાસના IBOutlet (ઇન્ટરફેસ બિલ્ડર આઉટલેટ) વચ્ચે કોઈ સંબંધ ખબર નથી ... પરંતુ અમારી હેલોવર્લ્ડવિઝકોન્ટ્રોલરમાં UITextField IBOutlet છે, તેથી અમે તેને લિંક કરવા જઈ રહ્યા છીએ.

આ કરવા માટે, જેમ કે આપણે આકૃતિમાં જોઈએ છીએ, «ન્યુ રેફરન્સિંગ આઉટલેટ to ની બાજુના નાના વર્તુળ પર ક્લિક કરીને, આપણે હેલો વર્લ્ડવિડકોન્ટ્રોલલિઅરક્સીબ નામની વિંડોના ફાઇલ માલિક તરફ ખેંચીએ છીએ. તે અમને 2 વિકલ્પો, સંપૂર્ણ દૃશ્ય) અને ટેક્સ્ટફિલ્ડ (અમારું ચલ) પસંદ કરવા દેશે. સ્વાભાવિક છે કે આપણે ટેક્સ્ટફિલ્ડ પસંદ કરીએ છીએ, અને આ રીતે અમે અમારા લખાણ બ boxક્સને તેના પ્રકારનાં યુઆઈટી ટેક્સફિલ્ડના ચલ સાથે જોડીએ છીએ. માર્ગ દ્વારા, ફાઇલનો માલિક અથવા ફાઇલનો માલિક અમારા કંટ્રોલર વર્ગ કરતા વધુ કે ઓછો નથી ...

અમે controlપરેશનને લેબલથી પુનરાવર્તિત કરીએ છીએ, તેને અમારા નિયંત્રક ચલ લેબલથી સંબંધિત કરીએ છીએ. અને બટન સાથે, તે કંઈક અલગ છે. આ સ્થિતિમાં અમે તેને અમારા અપડેટટેક્સથી operationપરેશનથી સંબંધિત કરીશું, પરંતુ કોઈ વિશિષ્ટ ઇવેન્ટ માટે. આને 'ટચ અપ ઇનસાઇડ' ઇવેન્ટથી કરો અને અમારી અપડેટટેક્સ્ટો પદ્ધતિ પસંદ કરો:

અને આ રીતે આપણે ઇન્ટરફેસ બિલ્ડર અને આપણે નિયંત્રકમાં મૂકેલા ચલો સાથે નિર્ધારિત કરેલા નિયંત્રણોને પહેલાથી સંબંધિત છે. અમે ઇંટરફેસ બિલ્ડરને બધું જ બચાવતા બંધ કરીએ છીએ અને અમે એક્સકોડ પર પાછા ફરતા છેલ્લા પગલા પર જઈએ છીએ.

પગલું 5. નવીનતમ વિકાસ.

એક્સકોડમાં અમે હેલોવર્લ્ડવિડકોન્ટ્રોલલિમિને ખોલીએ છીએ અને અમે નીચેનો કોડ મુકીએ છીએ જેથી અમારો વર્ગ આના જેવો દેખાય:

જો આપણે નજીકથી જોઈએ તો આપણે ફક્ત @synthesize અવરોધિત કર્યા છે, અને ઇન્ટરફેસમાં ઘોષિત પદ્ધતિનો અમલ .h, અપડેટટેક્સ્ટો. તે કોડની નીચે તમારી પાસે ઘણાં ટિપ્પણી કરેલા કોડ હશે.

@ સિંથેસાઇઝ લાઇન, ઓઓ ભાષાઓ (એન્કેપ્સ્યુલેશન) માં લાક્ષણિક લાક્ષણિક ગેટર / સેટર (એક્સેસર્સ / મ્યુટર્સ) પેદા કરવા જેવું જ કરે છે. અમને તેમની જરૂર છે જેથી સામગ્રી નિયંત્રક સુધી પહોંચે, ઉદાહરણ તરીકે, ટેક્સ્ટ બ ofક્સની.

અપડેટટેક્સ પદ્ધતિ, જેમ તમે જોઈ શકો છો, ફક્ત અમારા લેબલના ટેક્સ્ટને ટેક્સ્ટ ફીલ્ડની સામગ્રી સાથે અપડેટ કરે છે. અમે પુરૂ કરી નાખ્યુ.

હવે, અમે ફક્ત બિલ્ડ એન્ડ ગો કરીએ છીએ, અને તમે જોશો કે જ્યારે તમે ટેક્સ્ટ શબ્દમાળા દાખલ કરો છો અને બટન પર ક્લિક કરો છો, ત્યારે લેબલની સામગ્રી અપડેટ થઈ જશે. હવે પછીના લેખમાં આપણે અમારી એપ્લિકેશનમાં સુધારાઓ રજૂ કરીશું.


Google News પર અમને અનુસરો

તમારી ટિપ્પણી મૂકો

તમારું ઇમેઇલ સરનામું પ્રકાશિત કરવામાં આવશે નહીં. આવશ્યક ક્ષેત્રો સાથે ચિહ્નિત થયેલ છે *

*

*

  1. ડેટા માટે જવાબદાર: AB ઈન્ટરનેટ નેટવર્ક્સ 2008 SL
  2. ડેટાનો હેતુ: નિયંત્રણ સ્પામ, ટિપ્પણી સંચાલન.
  3. કાયદો: તમારી સંમતિ
  4. ડેટાની વાતચીત: કાયદાકીય જવાબદારી સિવાય ડેટા તૃતીય પક્ષને આપવામાં આવશે નહીં.
  5. ડેટા સ્ટોરેજ: cસેન્ટસ નેટવર્ક્સ (ઇયુ) દ્વારા હોસ્ટ કરેલો ડેટાબેઝ
  6. અધિકાર: કોઈપણ સમયે તમે તમારી માહિતીને મર્યાદિત, પુન recoverપ્રાપ્ત અને કા deleteી શકો છો.

  1.   પેડ્રો જણાવ્યું હતું કે

    ખૂબ જ સારું ટ્યુટોરિયલ, ખૂબ સ્પષ્ટ અને સરળ.

  2.   રુબ્ડોટોકોમ જણાવ્યું હતું કે

    સારું, હું ખૂબ જ તરબૂચ હોવા જોઈએ - કારણ કે તે મારા માટે કામ કરતું નથી. મેં સ્ટ્રિંગમાં મૂલ્ય કબજે કર્યું છે અને તે ટેક્સ્ટ લે છે પરંતુ તે તેને લેબલને સોંપતું નથી, ઓછામાં ઓછું તે પેઇન્ટ કરતું નથી, કારણ કે હું લેબલ.ટેક્સ્ટ જોવાનો પ્રયત્ન કરું છું અને તે મને અવકાશની બહાર કહે છે ...

  3.   leo2279 જણાવ્યું હતું કે

    તમારા ટ્યુટોરિયલ્સને ઉત્તમ બનાવો, તે આઇફોન માટે આ વિકાસને ખૂબ સારી રીતે સમજાવે છે, મને આશા છે કે તમે વધુ ટ્યુટોરિયલ્સ પ્રકાશિત કરવાનું ચાલુ રાખો છો.

    સાદર

  4.   મેરિઆનો જણાવ્યું હતું કે

    હાય, બધા સરસ, પરંતુ તે કામ કરતું નથી. તેને કાર્ય કરવા માટે મારે ઇન્ટરફેસ બિલ્ડરના દૃશ્યને ક્યુબમાંના દૃશ્ય સાથે લિંક કરવું પડ્યું, જેમ કે તમે ટેક્સ્ટફિલ્ડ અને લેબલ સાથે કરવાનું શીખવો છો. બાકીના માટે, ખૂબ ખૂબ આભાર.