[Powered by Google Translate] [సెమినార్] [iOS: ఒక బాస్ ను రాయడం] [టామీ MacWilliam] [హార్వర్డ్ విశ్వవిద్యాలయం] [ఈ CS50 ఉంది.] [CS50.TV] All right, ప్రతి ఒక్కరూ, iOS స్వాగతం: ఒక బాస్ ను రాయడం. ఈ సదస్సు ఐఫోన్ అనువర్తనాలను రాయడం దృష్టి అన్నారు మరియు బదులుగా ఐప్యాడ్ కోసం Apps రాయడం, అందువలన మేము ప్రధానంగా నడవడానికి వెళుతున్న ఒక అనువర్తనం చేయడానికి ఎలా జంట వివిధ ఉదాహరణలు, ఈడ్పు టాక్ TOE వంటి సాధారణ ఆట, లేదా మీరు న్యూస్ రీడర్ ఏదో వంటి ఒక అనువర్తనం చేయడానికి మరింత ఆసక్తి ఉంటే లేదా నేను కూడా దాని గురించి చర్చ ఉంటుంది ఇంటర్నెట్ సంకర్షణ ఏదో. ఇక్కడ మా సంక్షిప్త ఎజెండా ఉంది. IOS Apps, ఆబ్జెక్టివ్-C అనే భాషలో వ్రాయబడిన మరియు ఈ, సి పోలి కానీ నిజంగా అన్ని వద్ద కొద్దిగా ఉంటుంది కాబట్టి మేము భాష గురించి కొద్దిగా మాట్లాడుతూ వస్తుంది తరువాత ఎలా XCode అని ఈ అనువర్తనం కార్యక్రమం ఉపయోగించి ఐఫోన్ అనువర్తనాలను రూపొందించడానికి, మీరు ఇంకా అది డౌన్లోడ్ కాలేదు ఉంటే ఇది ఇప్పుడు డౌన్లోడ్ ప్రారంభించేందుకు సంకోచించకండి. ఇది అనేక గిగాబైట్ల ఉంది. ఇది App దుకాణం లో ఉచితంగా ఉండాలి, కాబట్టి మీరు Mac కలిగి ఉంటుంది ఆదర్శప్రాయంగా OS X యొక్క తాజా వెర్షన్ అమలు మీరు కాకపోతే, సమస్య లేదు. మీ అందుబాటులో సైన్స్ సెంటర్ లో Macs కలిగి XCode ఇన్స్టాల్, మరియు తద్వారా అభివృద్ధి కోసం ఆ ఉపయోగించడానికి సంకోచించకండి. తో మీరు ఒక అనువర్తనం అనుకున్న కాని ఒక Mac లేకపోతే, ఆందోళన చెందకండి. ఆ కోసం క్యాంపస్ వనరులు పుష్కలంగా ఉన్నాయి. కాబట్టి అప్పుడు మేము మీరు చేయవచ్చు వివిధ Apps యొక్క 2 పెద్ద ఉదాహరణలు కవర్ చూడాలని. ఆబ్జెక్టివ్-C C. ఒక సూపర్ సెట్ అని ఏమి సాంకేతికంగా ఏ సి కోడ్ కూడా చెల్లుబాటు అయ్యే ఆబ్జెక్టివ్-C కోడ్ అర్థం. అంటే వాహిక యొక్క రకం C. కొన్ని అదనపు లక్షణాలు పై టేపు అర్థం వీటిలో కొన్ని లక్షణాలు ఎప్పుడైనా మళ్ళీ malloc రాయడానికి చేయడంలో ఉంటాయి, దేవుని ధన్యవాదాలు ఏ ఆ స్టుపిడ్ గమనికలు గురించి ఆందోళన అవసరం మరియు వాటిని విడుదల చేసి అన్ని అంశాలను మీరు C గురించి అసహ్యించుకున్నారు మరియు ఇది యొక్క రకం ఆబ్జెక్టివ్-C లో పోతుంది. ఇప్పుడు, ఆబ్జెక్టివ్-C కూడా, చాలా పెద్ద ప్రమాణం గ్రంథాలయం ఉంది కాబట్టి మీరు ఆబ్జెక్టివ్-C యొక్క ఉచిత లోపల పొందండి చాలా కార్యాచరణ ఉంది. మేము PHP రాయడం ఉన్నప్పుడు గుర్తుంచుకో మేము నుంచి గమనించి మీరు చేయవచ్చు ఈ క్రేజీ విషయాలను దిగ్గజం లైబ్రరీ ఈ చిన్న భాష. ఇదే iOS జరుగుతుంది. అక్కడ బౌద్ధ క్యాలెండర్ అంశాలని వస్తువులు, మరియు నిజంగా ఏదైనా మీరు బహుశా బహుశా ఆబ్జెక్టివ్-C యొక్క అమలు లో ఇప్పటికే ఉంది కూడా ఆలోచించవచ్చు. ఆబ్జెక్టివ్-C యొక్క లక్ష్యం భాగంగా ఏదో సూచిస్తున్నారని విషయ ఆధారిత ప్రోగ్రామింగ్ అని. ఈ కొత్త విధానం యొక్క రకం, కాని మేము నిజంగా ఎక్కువగా నేర్చుకున్నాడు చేసిన ఇప్పటికే ఈ భావనలు చాలా. విషయ ఆధారిత ప్రోగ్రామింగ్ వెనుక ఆలోచన మీరు రూపొందించాలని చూడాలని ఉంది ఈ విషయాలు చుట్టూ మీ కోడ్ చాలా, తరగతులు అని మరియు ఈ తరగతులు నిజంగా structs ఉన్నత శిఖరాలను అందుకున్న. ఒక struct లోపలి మేము ప్రధానంగా ఇక్కడ చెప్పారు, ఒక విషయం మరియు ఈ విషయం సభ్యులు ఉండవచ్చు. ఉదాహరణకు, ఒక లింక్ జాబితాలో ఒక నోడ్ ఇతర విషయాల్లో కాలేదు ఒక విలువ వంటి జాబితాలో తదుపరి నోడ్ ఒక పాయింటర్, మరియు కలిసి పాయింటర్ మరియు ఆ విలువను ఒక struct ఈ ఒక సందర్భంలో కూర్చిన ఆ. తప్ప తరగతులు పోలి ఉంటాయి తరగతులు కూడా వాటిలో లోపల విధులు ఉన్నాయి. మేము ఒక struct డిక్లేర్డ్, మేము మాత్రమే Int n లేదా తదుపరి నోడ్ * చెప్పొచ్చు. ఇప్పుడు ఆబ్జెక్టివ్-C తో మేము నిజంగా విధులు ఉంచవచ్చు ఆ విషయాలను లోపల. తరగతులు చేయవచ్చు మరొక విషయమేమంటే వారు ఇతర తరగతుల నుంచి వారసత్వంగా డేటా చేయవచ్చు ఉంది. ఉదాహరణకు, ఆబ్జెక్టివ్-C తరగతులు అంతర్నిర్మిత కొంత చూడటం వస్తుంది. వాటిలో ఒకటి, స్క్రీన్ చూడండి ప్రాతినిధ్యం తరగతి ఉంటుంది అందువలన విధంగా నేను నా స్వంత అభిప్రాయం అమలుచెయ్యాలని మేము ప్రధానంగా ఆపిల్ వద్ద మీద ఎవరైనా, బహుశా నిజంగా నైస్ ప్రజలు సే, నాకు ఈ తరగతి రాశారు, మరియు అది బటన్లు ప్రదర్శించడం వంటి వాటిని నిర్వహిస్తుంది లేదా స్క్రీన్ అభివర్ణిస్తూ, మరియు మేము నిజంగా pained ఉంటుంది అన్ని కార్యాచరణను మేమే అమలు, అందువలన కేవలం ద్వారా డేటా వారసత్వంగా మేము మీరు ఆ తరగతి లో చేసిన ప్రతిదీ చెప్పగలదు నేను కూడా నా క్లాస్ లోపల మీరు, ఆ తరువాత, కొన్ని ఇతర అంశాలు చేయ బోతున్నాను అవి ఒక అనువర్తనం అమలు. ఆ ఏమి ఆ పదం వారసత్వం అర్థం. మేము మరింత కాంక్రీటు ఉదాహరణ చూస్తారు. చివరకు, విషయ ఆధారిత ప్రోగ్రామింగ్ కీ అని అది డేటా తొడుగు దారితీస్తుంది. మా సమస్య యొక్క కొన్ని సెట్లలో మేము ఈ పెద్ద, ప్రపంచ వేరియబుల్స్ కలిగి మరియు ప్రతిచోటా గ్లోబల్స్, మరియు మేము రాష్ట్ర ట్రాక్ కావలసిన ఎలా. తరగతులు తో మేము ఒక వస్తువు యొక్క లోపలి సమాచారం encapsulating ప్రారంభించవచ్చు. మేము మా అనువర్తనంలో ఒక స్క్రీన్ కలిగి ఉంటే, మేము నిజంగా నుండి ఏ డేటాను కలిగి లేదు ఆ మా అనువర్తనం లోపల మరో స్క్రీన్, అందువలన తరగతులు వస్తువులు encapsulating ద్వారా ఈ వాస్తవానికి దారితీస్తుంది మెరుగైన కోడ్ రూపకల్పన, మరియు ఈ అదనపు ఫీచర్లను సాధ్యం ఆబ్జెక్టివ్-C యొక్క. ముందు జాగ్రత్త, ఆబ్జెక్టివ్-C కోసం సింటాక్స్ అరటి ఉంది. ఇది మేము ముందు చూసిన ఏమీ వంటిది కాబట్టి ఇది ఒక సాంకేతికతను ఉపయోగించే విధానం యొక్క కొద్దిగా ఉంటుంది ఈ హెక్ అర్థం ఏమిటి? కానీ ఒకసారి మీరు నిజంగా సున్నితమైన ప్రారంభ సాంకేతికతను గత పొందండి Apps రాయటం మొదలుపెట్టాలని. ఇక్కడ చెప్పడానికి, ఒక తరగతి ప్రకటించాలని, ఇది, నా తరగతి ఉంది మరియు ఇంకా ఇక్కడ నేను తరువాత నిర్వచించే వెళుతున్న కొన్ని విషయాలు ఉన్నాయి నేను @ ఇంటర్ఫేస్ చెప్పడానికి వెళుతున్నాను. నేను @ ఇంటర్ఫేస్ చెప్పడానికి వెళుతున్నాను. నా తరగతి ఒక పేరు ఇచ్చి వెళుతున్న. తర్వాత ఎక్కడైనా నేను, @ ముగింపు చెప్పడానికి వెళుతున్న @ ఇంటర్ఫేస్ మరియు @ ముగింపు మధ్య మరియు ప్రతిదీ నా తరగతి ఉండాలని అనుకున్నాము. మా. H ఫైళ్ళ లోపల ఏమి అని అన్నారు. జస్ట్ సి లో మన. H ఫైళ్లను ప్రధానంగా ఉండే కొన్ని విషయాలు ఇక్కడ చెప్పారు. నేను తప్పనిసరిగా వారు ఇంకా ఏమి మీరు చెప్పటం లేదు కానీ కంపైలర్ వారు ఉనికిలో తెలుసుకోవాలి. తరువాత లోపల మా. మీ ఫైల్స్ ఎందుకంటే ఆబ్జెక్టివ్-C కోసం m అక్కడ వాస్తవానికి ఈ తరగతులు ఏమి నిర్వచించటానికి వెళుతున్న ఉంది. చాలా మా. సి ఫైళ్లు వంటి, మేము విధులు కోసం ఒక అమలు అందించింది. ఇన్సైడ్ మా. M ఫైల్ మేము ఇక్కడ చెప్పడానికి వెళుతున్న ఏమి విధులను అన్ని వారు ఇవన్నీ నా తరగతి-ఏమి లోపల. చివరకు, లోపల struct యొక్క మేము ఆ గిరజాల జంట కలుపులు లోపలి చెప్పగల్గినవి Int n లేదా నోడ్ * తర్వాత, మరియు ఆబ్జెక్టివ్-C లో మేము, కీవర్డ్ @ ఆస్తి ఉపయోగించడానికి వెళుతున్న మరియు ఈ, లక్షణాలు నిర్వచించడం ఏమి ఉంది లేదా నా తరగతుల ఒక భాగమైన కాని పనిచేస్తుంది. ఆబ్జెక్టివ్-C లో విధులు కాలింగ్ కూడా అరటి ఉంది. మేము సి లో విధులు ప్రకటించారు మేము Int foo లాంటి మాట్లాడుతూ ఆపై బ్రాకెట్ ఓపెన్ మరియు వాదనలు జాబితా ఇచ్చారు. ఈ పద్ధతులు లేదా ఫంక్షన్లు ప్రకటించారు ఆబ్జెక్టివ్-C లో ఎలా ఉంది. నేను ఒక ఫంక్షన్ లేదా ఒక పద్ధతి డిక్లేర్ చేయాలనుకుంటే నేను పద్ధతి మాట్లాడుతూ నేను అక్కడ నిజంగా తరగతి యొక్క ఒక సభ్యుని అది విధి మార్చుకోగలిగిన రకం, కానీ నిజంగా, కాబట్టి లోపల నా పద్ధతి యొక్క నేను ఒక కొత్త పద్ధతి సృష్టించాలనుకునే. ఇది ఏమీ తిరిగి వెళ్లి, కనుక IT రకం తప్ప యొక్క చేస్తాడు. ఈ నా విధి తిరిగి రకం. -I ఎందుకంటే తెలియదు ఇప్పుడు మేము ఇక్కడ parens ఉన్నాయి. తరువాత, నా చర్య యొక్క పేరును మాత్రం ఉంది మరియు తర్వాత చివరకు మేము C. కలిగి వంటి సెమికోలన్ కలిగి ఇక్కడికి కొత్తది ఇక్కడ ఈ వ్యక్తి. ఈ అడ్డగీత వాస్తవానికి అవసరం, మరియు ఈ చెప్పారు అని ఇక్కడ ఈ పద్ధతి ఒక తరగతి యొక్క తక్షణ న పిలవబడతాయి. మేము మా structs డిక్లేర్డ్ తరువాత మేము బహుశా ఏదో వంటి చెప్పారు struct నోడ్ n, మరియు నిజానికి సృష్టించిన నిజానికి పని మొదలు తద్వారా లేదా ఆ structs ఒకటి ఇన్స్టాన్షిఎట్ అది లోపల ఏమి కలిగి ఉంది, అందువలన ఈ డాష్ మేము ఉండవు కేవలం మేము ఇన్స్టాన్షిఎట్ వంటి తరగతిలో instantiate ఆ struct మేము దానిపై ఈ పద్ధతి కాల్ ముందు. నా పద్ధతులకు వాదనలు జోడించడాన్ని ప్రారంభించడానికి చేయాలనుకుంటే ఇది మరింత అరటి పొందుతాడు. ఇక్కడ నా పద్ధతి పేరు ఉంది. అప్పుడు నేను ఒక కోలన్ కలిగి వెళుతున్న మరియు ఈ పెద్దప్రేగు తరువాత ఇక్కడ చెప్పారు కొన్ని వాదనలు వస్తుంది. ఈ పద్ధతి ఒక వాదన పడుతుంది. దాని వాదన రకం ఒక Int, మరియు ఆ వాదన యొక్క పేరు లేదా నేను పద్ధతి యొక్క లోపల ఉపయోగించడం ప్రారంభించడానికి వెళుతున్న ఆ వేరియబుల్ నేను అంటారు. మళ్ళీ, ఈ పద్ధతి. ఇది ఒక వాదన పడుతుంది. మీరు మరింత వాదనలు జోడించడం ప్రారంభం కావాలి అది మరింత అరటి గెట్స్ ఆ మేము ఇక్కడ అని ఈ పెద్దప్రేగు వాదనలు జాబితాను వస్తుంది చేశారు. ఈ మొదటి వాదన ఒక పూర్ణ సంఖ్య. ఇప్పుడు, ఈ రెండవ వాదన ఆసక్తికరంగా ఉంటుంది. నా ప్రమేయం లోపల ఉపయోగించి వెళుతున్న ఆ వేరియబుల్ కాబట్టి లోపల నా ప్రమేయం నేను కాలేదు, F అని పిలుస్తారు F + = 1 లేదా ఏదో. ఇక్కడ ఈ విషయం ప్రధానంగా ఆ వాదన లేదా పారామితి కొరకు కీ. మేము కీ విలువ జతలను కలిగి మరియు JSON లేదా అనుబంధ శ్రేణుల వంటి ఏదో జస్ట్ వంటి ఆబ్జెక్టివ్-C అది నిజంగా స్పష్టమవుతుంది కేవలం ఆ, సరే, చెప్పడానికి నిర్ణయం మీరు ఈ పారామితులు ఏమిటో ఒక పద్ధతి కాల్ చేసినప్పుడు నిజానికి వాటిని అన్ని పేరు వెళుతున్న. మీరు ఒక పద్ధతి కాల్, మీరు నిజంగా, andFloat సే ​​చేస్తాము మరియు మీకు సైన్ పాస్ చేస్తాము ఆసక్తికరంగా, ఈ ఒక అనే, అయితే ఇతర పారామితులు అన్ని లేదు మేము ఒక 3 వ వాదన వచ్చింది కాబట్టి నేను andFloat చెప్పగల్గినవి మరియు మరొక ఫ్లోట్ మరియు మొదలైనవి. నేను ఈ పద్ధతులు కాల్ అది, కోర్సు అరటిపండ్ల ఉంది నేను ఒక వస్తువు లేదు, నాకు, foo అనే పద్ధతి నిర్వచించిన అయితే మరియు నేను foo చేయడం / parens మాట్లాడుతూ కాల్ కాకుండా మీరు నేను ఒక బ్రాకెట్ తెరిచి వెళుతున్న. ఇక్కడ నా పద్ధతి యొక్క పేరు ఉంది. నేను బ్రాకెట్ దగ్గరగా వెళుతున్న మరియు ఈ నేను పిలుపునిచ్చారు నేను వస్తువు. గుర్తుంచుకోండి, ఈ పద్ధతులు అన్ని తరగతులు లోపల ఉన్నాయి తరగతులు వాటిలో లోపల నిర్వచించవచ్చు పద్ధతులను కలిగి ఉన్నాయి ఎందుకంటే. ఇక్కడ నేను ఏకపక్ష, కొన్ని తరగతి యొక్క ఒక వస్తువు సృష్టించిన మరియు ఇది చేయటానికి వాక్యనిర్మాణం. ఒక వస్తువు రూపొందించటంలో 2 దశలు ఉన్నాయి. మొదటి దశ I స్పేస్ కేటాయించే అనుకుందాం ఉంది. ఈ ఒక malloc యొక్క సమానం. మేము ఇకపై malloc చెప్పడానికి లేదు. మేము, మీ పడిపోయింది అది alloc చేసిన, మరియు. M తో. సి స్థానంలో. మేము alloc ఏదో తరువాత మేము అప్పుడు ప్రారంభించడం అవసరం. నిజానికి మీరు వస్తువులు సృష్టించడానికి మీరు కొన్ని లాజిక్ కలిగి ఉంటుంది వారు సృష్టించిన చేసినప్పుడు అమలు చేసే, కాబట్టి మీరు కొన్ని అప్రమేయ విలువలు లో తరలిస్తారు లేదా అలాంటిదే, మరియు ఈ init పద్ధతి వాస్తవానికి వస్తువు సృష్టిస్తుంది ఏమిటి. మేము మొదటి, మేము సి లో చేసిన వలె, స్పేస్ కేటాయించాలని మరియు తర్వాత మేము లేదా మొత్తం చేస్తాను కాకపోవచ్చు, అది ప్రారంభించడం. అప్పుడు మేము ఒక వస్తువు o ఈ విషయం తిరిగి చేస్తున్నారు. ఈ సాంకేతికంగా ఒక పాయింటర్ ఎందుకంటే ఒక నటుడు, ఇక్కడ ఉన్నాయి కానీ గమనికలు ఆ ఆబ్జెక్టివ్-C పెద్ద ఒప్పందం ఇకపై కాదు, ఆందోళన చెందకండి. ఇప్పుడు మేము, NSObject అని ఈ తరగతి ఇన్స్టాన్షిఎట్ చేసిన మరియు ఈ కేవలం ఆపిల్ కలిగి యాదృచ్ఛిక తరగతి ఉంది. మేము ఈ ఇన్స్టాన్షిఎట్ చేశారు, ఇప్పుడు నేను ఈ తరగతి యొక్క ఒక ఉదాహరణగా ఉన్నాయి ఈ వస్తువు o, కాబట్టి నేను నిర్వచించిన ఉంటే అర్థం ఈ పద్ధతులు నేను ఈ వంటి వాటిని కాల్ కాలేదు. అదేవిధంగా, నేను ఒక వాదన ఒక పద్ధతి కాల్ కోరుకుంటే, ఈ బార్ పద్ధతి కాబట్టి, ఆ, ఒక వాదన పడుతుంది qux పద్ధతి, అందువలన ఈ 2 వాదనలు పడుతుంది: ఇక్కడ బాజ్ ఉంది. ఈ వస్తువు o ఒక చర్యను కాల్ ఉంది. సమంజసం? వాక్యనిర్మాణం సమంజసం ఉండాలి, కానీ మీరు రకమైన అది అలవాటుపడతారు. సరే, యొక్క ఆబ్జెక్టివ్-C లోకి నిర్మించబడ్డాయి కొన్ని విషయాల గురించి మాట్లాడండి తెలియజేయండి ఆ అవసరం C. లోకి నిర్మించని సి లో మేము రకమైన, ఈ స్టుపిడ్ పాత్ర శ్రేణుల వంటి తీగలను వ్యవహరించవలసిఉంది అది నిజంగా బాధించే వచ్చింది. ఆబ్జెక్టివ్-C అన్ని మాకు నిర్మించారు ఆ ఉంది, మరియు అది నిర్మించబడిన NSString అని ఈ తరగతి ఉపయోగించి. మనం మరింత అద్భుత సింటాక్స్ కలిగి ఒక NSString సృష్టించడానికి ఉంటుంది. అయితే మేము @ "cs50" సే "cs50" అని కంటే మరియు ఈ కేవలం ఆబ్జెక్టివ్-C లో తీగలను చాటి వాక్యనిర్మాణం. ఈ మర్చిపోతే, ఐతే వద్దు చాలా సులభం. ఇప్పుడు, ఒకసారి నేను ఈ కలిగి, ఈ స్ట్రింగ్, కానీ గమనించి ఇది నిజంగా కేవలం ఒక వస్తువు యొక్క. నేను అన్నాడు నేను క్లాస్ ఇన్స్టాన్షిఎట్ అంటే NSString, ఎవరో నాకు రాసింది NSString, అని మరియు వారు ప్రస్తుతం దాని గురించి చాలా మంచి, మరియు నేను పద్ధతులు కాల్ చెయ్యవచ్చు. నేను ఈ వస్తువు లు న పద్ధతి పొడవు కాల్ ఉంటే అది నాకు స్ట్రింగ్ యొక్క పొడవు తిరిగి వెళుతున్న. ఈ C. కేవలం strlen వంటిది ఈ 4 చేరాడు. అదేవిధంగా, నేను పట్టించుకోనట్లు ఉంటుంది మరొక పద్ధతి ఈ characterAtIndex ఉంది. ఈ స్ట్రింగ్ s చెప్పాడు ఒక పద్ధతి నేను, మీరు జేరోయేత్ పాత్ర పొందడానికి కావలసిన మరియు ఈ నా పాత్ర సి తిరిగి మరియు మీరు నిజంగా సులభంగా Google చేసే పద్ధతులను మరింత మొత్తం అక్కడ ఉంది. Apple యొక్క డాక్యుమెంటేషన్ గొప్ప ఉంది, మరియు మేము ఒక బిట్ లో ఆ వద్ద టేక్ ఎ లుక్ వస్తుంది. ఆ తీగలు ఉంటాయి. మేము కూడా వేరియబుల్ పరిమాణం శ్రేణుల కలిగి ఉన్నాయి మేము ఒక అర్రే ప్రకటించడంతో సి లో గుర్తుంచుకో మేము మీరు 5 అంశాలు, కథ ముగింపు ఉన్నాయి, అవి వచ్చింది. మేము JavaScript మరియు PHP పరుగులకు చేరుకున్నప్పుడు మేము ప్రారంభం కాలేదు అంశాలను జోడించడం లేదా అంశాలను కదిలే వంటి పనులను. మేము ఆబ్జెక్టివ్-C లో అదే చేయవచ్చు. సాధారణ సి విధంగా ఒక అమరికను రూపొందించడానికి కాకుండా మేము మళ్లీ NSMutableArray అని మరొక తరగతి ఉంది. , NSArray కూడా ఉన్నాయి మరియు ఈ ప్రాథమికంగా కొన్ని శ్రేణి మాత్రం అన్నారు. ఈ నేను చేయాలనుకుంటున్నారా మొదటి మాట కేటాయించే కావలసిన చెప్పారు ఒక కొత్త శ్రేణి స్థలాన్ని, మరియు నేను కేటాయించాలని తర్వాత అప్పుడు కూడా నేను దీనిని ప్రారంభించడం అవసరం. మళ్ళీ, ఈ 2 పద్ధతులు కాల్. ఇప్పుడు ఈ ఈ వస్తువు యొక్క లోపల అర్థం నేను అక్కడ ఒక ఖాళీ శ్రేణిని కూర్చొని ఉన్నారు. నేను ఈ శ్రేణి ఏదో జోడించాలనుకుంటే, నేను addObject పద్ధతి కాల్ చేయవచ్చు. నేను ఒక శ్రేణి ఒక వస్తువు జోడించదలచిన, మరియు నేను స్ట్రింగ్ CS50 జోడించాలనుకుంటున్నాను. నేను దానికి నేను చేసే తొలగించాలని అనుకుంటే నేను మీరు అర్రే మొదటి స్థానంలో వస్తువు తీసివేయండి లేదా వస్తువు. సమంజసం? సరే, మీరు రకమైన ఈ చదరపు బ్రాకెట్ విషయం అలవాటుపడతారు. మార్గం ద్వారా, Apple యొక్క గ్రంథాలయాల్లో చాలా లోపల మీరు ఈ NS చూస్తారు. NS వాస్తవానికి స్టీవ్ జాబ్స్ మొదటి కంపెనీలలో ఒకటి ఇది తదుపరి దశలో, అనగా అతను నిజంగా కోడ్ చాలా రాయడం మొదలుపెట్టారు పేరు మరియు ఆ Mac OS X మరియు ఇతర విషయాలను ఆధారంగా యొక్క రకమైన, మరియు ఈ NS ఈ nice లెగసీ రకం ముందు కంపెనీల్లో ఒకటి బయటకు అరవండి ఉంది తిరిగి ఆపిల్ మొదటి ప్రారంభమైన సమయంలో. ఇది ప్రతిచోటా ఉంది. యొక్క మరింత సమగ్రమైన ఆబ్జెక్టివ్-C ఉదాహరణ పరిశీలించి చూద్దాం. ఇక్కడ నేను XCode లోపలి am. ఇక్కడ ఉండటానికి, నేను మొదటి, App స్టోర్ నుండి XCode డౌన్లోడ్ నేను, ఫైలు ఇక్కడ, తర్వాత దానిని ప్రారంభించారు, మరియు ఇక్కడ పైగా కొత్త, ఆపై ప్రాజెక్ట్. నేను సృష్టించడానికి ఏమి ఈ ఎంపికలు ఉన్నాయి అలా తరువాత, అందువలన మేము, తర్వాత ఈ ఎంపికలు వద్ద టేక్ ఎ లుక్ వస్తుంది కానీ ఈ ఉదాహరణకు, ఎందుకంటే మేము నిజానికి, ఇంకా ఒక అనువర్తనం ఏమీ ఉండదని చేస్తున్నారు నేను ఇక్కడ వచ్చాడు, మరియు నేను కమాండ్ లైన్ టూల్ చెప్పారు మరియు ఈ నేను కమాండ్ లైన్ వద్ద అమలు చేయగల ఒక అనువర్తనం ఉంది మేము C. నుండి అమలు చేసిన వలె , నేను ఈ ప్రాజెక్ట్ రూపొందించినవారు ఎలా, అందువలన ఇప్పుడు నేను ఇక్కడ ఉన్నాను ఈ ఫైలు వద్ద మొదటి చూద్దాం, మరియు ఇది చాలా తెలిసిన కనిపించాలి. నేను ఒక పూర్ణాంకానికి పేరు. నా స్నేహితుడు argc, నా ఇతర స్నేహితుని argv ఉంది. కాబట్టి మేము ఈ నా మొదటి లక్ష్యం-C అనువర్తనం కోసం ఎంట్రీ పాయింట్ అని చూడగలరు. ఇక్కడ మేము ఇప్పుడు ఈ విస్మరించవచ్చు. ఈ ప్రాథమికంగా కొన్ని మెమరీ నిర్వహణ అంశాలను అని మీరు నిజంగా రెడీ ఎప్పుడూ గురించి ఆందోళన. ఇక్కడ ఈ మొదటి బ్లాక్ చూడండి యొక్క లెట్. ఈ మొదటి పంక్తి, నేను స్టూడెంట్ చెప్పుకోవాలంటే * ఆలిస్ = [[స్టూడెంట్ alloc] init] ఏమి ఆ? ఇక్కడ ఈ మొదటి విద్యార్థి, ఈ బహుశా ఒక తరగతి ఉంది. ఈ Apple రాసిన ఒక తరగతి కాదు, కానీ నేను వ్రాసిన ఒక తరగతి ఉంది. నేను చేయాలనుకుంటున్నారా మొదటి విషయం, నేను ఒక కొత్త విద్యార్థి స్థలాన్ని కేటాయించే దీనిని చేస్తారు తరువాత నేను ప్రారంభించడం కావాలి, కాబట్టి ఈ నాకు మళ్లీ ఇస్తుంది ఈ కొత్త విద్యార్ధి వస్తువు, నేను ఆలిస్ అనే వేరియబుల్ ఈ నిల్వ చేస్తున్నాను. ఆ క్లాస్ ఎక్కడ నుండి వచ్చింది? అయితే, ఈ పైగా ఎడమ వైపు ఈ నా ప్రాజెక్టు లోపల వివిధ ఫైళ్లను అన్ని. మేము నేను Student.h మరియు ఒక Student.m కలిగి ఇక్కడ చూడగలరు. నేను అన్ని విషయాలను డిక్లేర్ పేరు. H ఫైలు, గుర్తు, ఉంది అదే తరగతిలోని ఉనికిలో ఉంటుంది. యొక్క ఆ పరిశీలించి చూద్దాం. All right, ఇక్కడ మేము ఈ @ ఇంటర్ఫేస్ కలిగి, మరియు ఈ ఇక్కడ వస్తుంది చెప్పారు నా తరగతి ఉండే ప్రతిదీ ప్రకటనలతో. అప్పుడు నేను ఒక కోలన్ ఉన్నాయి. అప్పుడు నేను ఈ NSObject విషయం ఉంది. ఈ పెద్దప్రేగు మేము కొద్దిగా ముందు చర్చిస్తున్నారు ఆ వారసత్వం బిట్ సూచిస్తుంది. ఈ చెప్పారు ఒక NSObject చేయవచ్చు ప్రతిదీ NSObject మరొకరి రాసిన ఈ తరగతి, ఇక్కడ నేను ఆ చేస్తామని మీరు ఈ NSObject చేయవచ్చు ప్రతిదీ. ఈ విధంగా: NSObject ఆ నిజానికి అర్థం మరొక తరగతి యొక్క కార్యాచరణ యొక్క అన్ని వారసత్వంగా. ఆ నన్ను నేను ఉపయోగించగల వేర్వేరు పద్ధతులు మరియు లక్షణాలను మొత్తం బంచ్ ఇచ్చారు. డౌన్ ఇక్కడ నేను 2 లక్షణాలు సృష్టించడం చేస్తున్నాను. ఈ ఒక struct అయితే నా విద్యార్థి అనగా, ఈ 2 విషయాలు ఉంటుంది లోపల నా struct యొక్క, కాబట్టి ప్రతి విద్యార్థి ఒక పేరు ఉంది , ఒక స్ట్రింగ్, మరియు ఒక విద్యార్ధి కూడా ఒక గ్రేడ్ ఉంది ఒక Int ఉంది. చివరగా, డౌన్ ఇక్కడ నేను నా విద్యార్థి ఒక పధ్ధతి తయారు వెళుతున్న. నేను initWithName, నా పద్ధతి అని, మరియు ఇది ఒక వాదన పడుతుంది మరియు ఆ వాదన ఒక స్ట్రింగ్, అది నాకు పేరు అని. ఇప్పుడు మేము నిజానికి ఈ తరగతి అమలు ఎలా చూద్దాం. ఇక్కడ, ఇప్పుడు నేను, నా. M ఫైల్ లోపల ఉన్నాను అమలు m, నేను ఊహిస్తున్నాను. నేను, నా ముగింపు నా అమలు లేదు, నాకు నిజంగా నిర్వచించు నేను ఎక్కడ ఉంది ఏ initWithName చేస్తుంది. నేను initWithName, నా పరామితి యొక్క పేరు, మరియు ఈ కలిగి నేను ఒక విద్యార్థి సృష్టించడం నేను ఎక్కడ ఉంది మరియు ఈ కొద్దిగా గుప్తమైన, కానీ ఈ బాయిలర్ ప్లేట్ రకం మీరు మీ తయారీదారుల లో చేర్చాలనుకుంటే ఆ. ఇక్కడ ఈ ప్రారంభ ఫంక్షన్ initWithName, కన్స్ట్రక్టర్ యొక్క రకం. మీరు ప్రాథమికంగా ఒక కొత్త విద్యార్థి వస్తువు నిర్మిస్తోంది చేస్తున్నారు మరియు దీనికి లోపల కొన్ని డేటాను పంపడం. నేను చేయాలనుకుంటున్నారా మొదటి మాట ఈ సూపర్ విషయాన్ని init కాల్ మీరు ఉంది. గుర్తుంచుకో నేను. H ఫైలు తిరిగి ఇక్కడ ఇలా చెప్పాడు ప్రతిదీ ఒక NSObject ఒక విద్యార్థి కూడా కలిగి ఉన్నాయి. నేను నేను కూడా ఏమి చేయాలి ఒక విద్యార్థి సృష్టించినప్పుడు అర్థం నిర్ధారించుకోండి నేను నుండి డేటా యొక్క అన్ని వారసత్వంగా కాబట్టి NSObject కూడా సరిగా initialized ఉంది. నేను ఏమి చెప్పటానికి అవసరం ఈ సూపర్ ఉంది వాస్తవానికి మాతృ తరగతి చూడండి అన్నారు నేను నుండి వారసత్వంగా కాబట్టి, అందువలన నేను ప్రారంభించడం నిర్ధారించుకోవాలి నేను ఉపయోగించడానికి ప్రయత్నిస్తున్న ముందు నేను బట్టి నేను ప్రతిదీ. ఆ initialized అయితే సరిగ్గా ఇది చెప్పడం వంటి ఉంటే malloc శూన్య చూపలేదు అప్పుడు నేను కొన్ని లక్షణాలను అమర్చే ప్రారంభించవచ్చు. JavaScript మరియు PHP లో మేము ఈ కీవర్డ్, ఈ పిలుపునిచ్చారు మరియు ఈ ఒక తరగతి యొక్క ప్రస్తుత ఉదాహరణకు సూచిస్తారు. ఆబ్జెక్టివ్-C లో మేము ఈ స్వీయ కాల్. నేను self.name చెప్పినప్పుడు అని వస్తువు నేను విద్యార్థి alloc init ఇలా చెప్పాడు నేను, రూపొందించినవారు ఒక వస్తువు నాకు మళ్లీ ఇవ్వాలని జరగబోతోంది. అనగా ఆ వస్తువు యొక్క పేరు సెట్ చేయాలనుకుంటున్నారా నేను సైన్ జారీ వెళ్లడానికి సి లో మాదిరిగా, మేము, ఈ డాట్ తో సభ్యులు యాక్సెస్ కాబట్టి self.name విద్యార్థి వస్తువు యొక్క పేరు చెప్పారు ఇప్పుడు మీరు సైన్ జారీ మరేమిటి అన్నారు నిజానికి ఏదో తిరిగి అదే విధంగా చివరకు, నేను తిరిగి రావచ్చు. ప్రశ్నలు? సరే, ఈ స్వీయ = సూపర్, init మీరు పూర్తిగా వారసత్వం stuff అర్థం లేదు, చింతించకండి. జస్ట్ తెలిసిన మీరు మీ స్వంత init పద్ధతి తయారు చేయదలచుకుంటే అలా, మరియు మీరు అన్నిటికి ఉంటాం. అవును. >> [స్టూడెంట్] ఏం నేనే సగటు చేస్తుంది? అంటే మేము malloc అది శూన్య సమానము మేము ఎల్లప్పుడూ తనిఖీ ఏదో, అది శూన్య ఉంటే మరియు, అప్పుడు మేము నిష్క్రమించారు. ఈ రాబడి శూన్య, అప్పుడు మేము బహుశా seg లోపం చూడాలని ఎందుకంటే ఈ, అదే విషయం మేము అది సవరించడానికి ప్రయత్నిస్తున్న ప్రారంభం ఉంటే. మా విద్యార్థి తరగతి ఉంది. మేము రెండు విధానాలలో ఒక మా విద్యార్థులు ప్రారంభించడం దీని అర్థం అది. నేను విద్యార్థి alloc init చెప్పినట్టైతే నేను రాసిన పద్ధతిలో లేదు, మరియు బదులుగా నేను కేవలం, alice.name చెప్పగలదు మరియు ఇప్పుడు నేను ఆ ఆస్తి పేరు సెట్ వెళుతున్న. అదేవిధంగా, ఆ initWithName పద్ధతి ను ఉపయోగించడానికి నేను కేవలం alloc, మరియు అప్పుడు కాకుండా init చెప్పడం చేయవచ్చు నేను సృష్టించిన ఆ పద్ధతి కాల్ వెళుతున్న మరియు నేను బాబ్ లో పాస్ వెళుతున్న. ఈ సమయంలో, ఈ వస్తువు బాబ్ బాబ్ సమానమైన పేరు ఉంది. సరే, డౌన్ ఇక్కడ మనం ముందుగా చూశారు ఆ NSMutableArray ఉపయోగించి వెబ్. నేను ఒక కొత్త శ్రేణి ప్రారంభించడం చేస్తున్నాను space.Then పెడుతోంది చేస్తున్నాను. నేను దానికి 2 విషయాలు జోడించండి వెళుతున్న. ఈ శ్రేణి ఇప్పుడు విద్యార్థి వస్తువులు కలిగి ఉంది. ఎక్కడా నేను ఈ విద్యార్ధులు ఒక శ్రేణి చెప్పే అని గమనించండి. నేను ఒక వరుస కాలం చెప్పాడు. అప్పుడు నేను కావలసిన దానిని ఏ లోపల ఉంచవచ్చు. ఇక్కడ నేను 2 వస్తువులు ఉన్నాయి. చివరగా, నేను, ఇక్కడ ఈ TF మరొక వస్తువు ఉంది. ఇక్కడ TF.h లో ప్రధానంగా ఇదే. నేను, NSObject నుండి, మరియు ద్వారా సంక్రమించే నేను మీరు తరగతులు సృష్టించినప్పుడు ఈ అన్ని మీరు చేయబడుతుంది, ఇంటర్ఫేస్ బాయిలెర్ప్లేట్ ఈ రకమైన. ఇది విద్యార్థులు ఒక ఆస్తి ఉంది. నేను, ఒక జంట పద్ధతులు ఇక్కడ నిజంగా మొత్తం చాలా చెయ్యమని కలిగి నేను ఈ TF వస్తువు సృష్టించిన తర్వాత అనగా నేను ఈ మాదిరిగా ఈ పద్ధతి గ్రేడ్ కాల్ చేయవచ్చు. ఆబ్జెక్టివ్-C చూడండి ఏదైనా ప్రశ్నలు మేము కొన్ని మరింత మారడం ప్రారంభించడానికి ముందు ఆసక్తికరమైన Apps అభివృద్ధి stuff? సరే, నిజానికి యొక్క ఒక ఐఫోన్ అనువర్తనం తయారు చేద్దాము. మీ ఐఫోన్ అనువర్తనం యొక్క మీరు లోపల ఉపయోగించి వస్తుంది ప్రధాన తరగతులు, వీక్షణ కంట్రోలర్లు అని పిలుస్తారు మరియు ఒక అభిప్రాయం నియంత్రిక ప్రధానంగా ఒక స్క్రీన్ సూచిస్తుంది మీ అనువర్తనం యొక్క లోపల, నేను, ఉదాహరణకు, సంగీతం అనువర్తనంలో ఉన్నాను ఉంటే ఒక దృశ్యం నియంత్రిక నా iPhone లో అన్ని పాటలు వీక్షించడానికి దీనిలో వీక్షణ ప్రాతినిధ్యం వహిస్తుంది. నేను ఒక పాట క్లిక్ చేసి దానిని ప్లే ప్రారంభించిన ఇంకొక అభిప్రాయం నియంత్రిక ఉంటుంది లేదా నేను కళాకారులు దిగి తీసే నేను వంటి. ఆ వివిధ తెరలు ప్రతి మరొక వీక్షణ నియంత్రిక వంటి ప్రాతినిధ్యం చేయవచ్చు మరియు ఒక అభిప్రాయం నియంత్రిక నిజంగా ఈ స్క్రీన్ ఎలా పనిచేస్తుంది అని ఒక తరగతి ఉంది. ఒక దృశ్యం నియంత్రిక లోపలి థింగ్స్, మేము, లక్షణాలు చూడాలని కాబట్టి ఒక బటన్ వంటి వాటిని మా అభిప్రాయాలను నియంత్రిక ఒక ఆస్తి అని అన్నారు. మేము కూడా పద్ధతులు చూడాలని, మరియు ఈ ప్రాథమికంగా ఈవెంట్ నిర్వాహకులు ఉన్నారు. ఈ పద్ధతి మీరు ఈ బటన్ నొక్కినప్పుడు చెప్పారు నేను, చివరకు, మళ్ళీ చేయాలని, మరియు మేము ప్రస్తుత ఉదాహరణకు యాక్సెస్ ఈ స్వీయ కీవర్డ్ ఉపయోగించి చూడాలని. IOS లో అనుసంధానాన్ని నిర్మించవచ్చు వాస్తవానికి నిజంగా సులభం. వారు ఈ nice డ్రాగ్ మరియు ఇంటర్ఫేస్ బిల్డర్ అని డ్రాప్ ఇంటర్ఫేస్ కలిగి మరియు 2 కోర్ భావనలు మీ ఆబ్జెక్టివ్-C అప్ ఇంటర్ఫేస్ బిల్డర్ కు WIRE IBOutlet మరియు IBAction ఉంటాయి. ఒక IBOutlet కేవలం, ఒక బటన్ ఉన్న ఒక ఆస్తి డిక్లేర్ ఉంటే చెప్పారు మరియు మీరు, మీ వాస్తవ UI ఏదో దానిని హుక్ అప్ కావలసిన మీరు ఒక అవుట్లెట్ చెప్పాలి వెళుతున్న. అదేవిధంగా, మీరు ఒక ఈవెంట్ నిర్వహణ ప్రాతినిధ్యం అనుకుంటే అప్పుడు మీరు ఒక చర్య చెప్పాలి వెళుతున్న. వాస్తవానికి ఈ గ్రాఫికల్ ప్రాతినిధ్యాన్ని వైర్ మరియు మీ కోడ్ అది నిజంగా సులభం. మీరు ఒక IBOutlet అటాచ్, మీరు చేయాల్సిందల్లా, మీరు క్లిక్ నియంత్రణ మరియు మేము ఇది నిజంగా శీఘ్ర ఒక ఉదాహరణ చూస్తారు. View కంట్రోలర్ అది ఎక్కడ క్లిక్ నియంత్రిస్తాయి. మీరు, దానికి ఇంటర్ఫేస్ లోకి డ్రాగ్ కు వెళ్ళి లేదా చేస్తున్నారు మీరు ఒక ఈవెంట్ నిర్వహణ హుక్ అప్ అనుకుంటే మీరు ఇంటర్ఫేస్ నుండి డ్రాగ్ చూడాలని ఇతర దిశలో. యొక్క ఒక రియల్లీ సింపుల్ iOS ఉదాహరణ పరిశీలించి చూద్దాం. యొక్క ఒక కొత్త ప్రాజెక్ట్ సృష్టించడానికి లెట్. నేను, అప్లికేషన్ ఇక్కడ వచ్చి వెళుతున్న మరియు నేను సింగిల్ అభిప్రాయాలను అప్లికేషన్ క్లిక్ వెళుతున్న. నేను తరువాత క్లిక్ చేయండి వెళుతున్న. నా ప్రాజెక్ట్ పేరు ఇస్తాము. నేను హలో పిలుస్తాను. ఆసక్తికరంగా, ఆపిల్ ఒక ఉత్పత్తి సృష్టిస్తున్నారు ఊహిస్తుంది కాబట్టి మీరు అమ్మవచ్చు మరియు వారు డబ్బు సంపాదించవచ్చు. డౌన్ ఇక్కడ నేను ఈ ఒక ఐఫోన్ అనువర్తనం పేర్కొన్నారు వెళుతున్న. మీరు ఒక ఐప్యాడ్ అనువర్తనం సృష్టించవచ్చు, లేదా ఆ అనువర్తనాల సృష్టించాలి కావాలా మీరు కూడా చేయవచ్చు రెండు పరికరాలకు మద్దతు ఇస్తుంది. ఈ మీరు మీ checkmarks లాగా ఏమి ఉన్నాయి. మీరు మేము తరువాత చూస్తారు ఇది స్టోరీబోర్డులు, ఉపయోగించాలనుకుంటున్నాను మరియు మీరు ఖచ్చితంగా, ఆటోమేటిక్ సూచన లెక్కింపు ఉపయోగించాలనుకుంటున్నాను ఇది malloc మరియు ఉచిత చెప్పడానికి కలిగి నుండి నిరోధిస్తుంది ఒక nice లక్షణం. మీరు malloc మరియు ఉచిత కాల్ మీరు తప్ప, నేను ఈ చూసినది వదిలిపెట్టేశాడు. నేను తరువాత క్లిక్ చేయండి చేస్తాము, మరియు నేను సేవ్ చోట చివరకు, ఈ నాకు చెప్పండి అన్నారు. నేను సృష్టించే హిట్ చేస్తాము, మరియు ఇక్కడ మేము వెళ్ళండి. నేను ఒక కొత్త ప్రాజెక్ట్ సృష్టించింది. ఇక్కడ ఎడమవైపు ఓవర్ నా ప్రాజెక్టు లోపల అన్ని ఫైళ్ళు ఉన్నాయి మరియు నేను మొత్తం బంచ్ వచ్చింది అని గమనించి, మరియు నేను ఏదైనా కూడా లేదు. IOS గొప్ప ఉంది. ఉదాహరణకు, ఇక్కడ ఈ ViewController.h, ఈ నా మొదటి అభిప్రాయం నియంత్రిక ప్రాతినిధ్యం అన్నారు నా అనువర్తనం యొక్క లోపల మొదటి తెరపై. ఇప్పుడు మేము ఈ చెబుతున్నారు తెలుసు. మేము, నేను ఈ తరగతి ViewController కాల్ చేస్తున్నాను చెబుతున్న దాన్ని మరియు ఒక ViewController, ఒక UIViewController చేసే ప్రతిదీ చేస్తుంది మరియు ఈ, మళ్ళీ, Apple మా సులభ stuff చాలా చేస్తుంది అని వ్రాసారు కొన్ని తరగతి ఉంది స్క్రీన్ ఇష్టం. నిజానికి నా అభిప్రాయం నియంత్రిక ఏమి నిర్వచించు ప్రారంభించడానికి మీకు ఇక్కడ, మరియు నేను నిజంగా ఈ ఏ అవసరం లేని అవుతుంది. ఈ Apple ఉచితంగా నాకు ఇచ్చే బాయిలెర్ప్లేట్ స్మృతి. నేను మొదటి లైన్ అవసరం చేశాడు, లేదా నేను క్లాస్ లేదు కాబట్టి మేము ఆ వదిలించుకోవటం మరియు ఈ విమోచనం పొందవచ్చు. సరే, ఈ నా ఖాళీ తెర ఉంది. ఇప్పుడు, ఈ యొక్క MainStoryboard.storyboard న క్లిక్ చేయండి అది ఆసక్తికరంగా పొందడానికి ప్రారంభిస్తారు మరియు ఈ ఉంది. ఈ నా అనువర్తనంలో మొదటి స్క్రీన్ సూచిస్తుంది. నేను ఒక బటన్ జోడించాలనుకుంటే, HTML లో నేను ఒక బటన్ ట్యాగ్ ఏర్పరచాలి. Android లో మీరు, ఒక బటన్ టాగ్ సృష్టించడానికి కలిగి కానీ iOS లో నేను క్రింద కుడి ఇక్కడికి వచ్చి ఉంటే నేను ఇక్కడ ఈ 3 వ ఒక క్లిక్ ఉంటే మరియు అది, Objects చెప్పారు పేరు మరియు నేను క్రిందికి స్క్రోల్ చేయవచ్చు, లేదా నేను బటన్ కోసం శోధించవచ్చు. నిజానికి అక్కడ ఈ కుడి డ్రాగ్ మరియు డ్రాప్ అయితే మరియు, ఒక బటన్ చూడండి నేను నా అనువర్తనంలో ఈ స్క్రీన్ బటన్ జోడించారు. నేను టెక్స్ట్ మార్చడానికి అనుకుంటే, నేను డబుల్, దాన్ని క్లిక్ చేయవచ్చు ఏదో వంటి మనోహరమైన మాట్లాడను "నా నొక్కండి." నేను ఈ అనువర్తనం అమలు చేస్తే సరే, ఇప్పుడు, కాబట్టి మేము, అది కంపైల్ కాబట్టి ఇది అమలు చేయడానికి నేను ఎడమ లో ప్లే బటన్ క్లిక్ చేసి, నా అప్లికేషన్ ఉంది. నేను ఏమీ చేయలేదు, మరియు నేను తీపి చూస్తున్న ఐఫోన్ అనువర్తనం వచ్చింది. నేను ఆపడానికి, మీరు స్టాప్ బటన్ క్లిక్ చేయవచ్చు ఇది సరదాగా ఎందుకంటే. లెట్ యొక్క నిజానికి నేను ఈ బటన్ నొక్కండి ఏమి ఏదో కావలసిన చెప్పారు. నేను అవసరం అని చేయుటకు నేను సృష్టించాలి ఒక కొత్త సంఘటన హ్యాండ్లర్ లేదా ఒక చర్య. నేను అని మీరు పద్ధతి సృష్టించాలి అంటే నేను బటన్ నొక్కినప్పుడు, కాబట్టి యొక్క ఒక కొత్త పధ్ధతి తయారు తెలియజేయండి. నేను ViewController.h లోపలి ఉన్నాను. నేను ఒక పద్ధతి ఉందని చెప్పడానికి అవసరం. నేను వీక్షణ నియంత్రిక ఈ పిలుచుచున్నారు వెళుతున్న ఎందుకంటే నేను మొదటి ఒక అడ్డగీత అవసరం. నేను ఈ రకం ఇవ్వాలని అవసరం. ఈ రకం మేము ముందుగా భావించిన ఆ IBAction కాదు అన్నారు. ఈ కార్యక్రమం నిర్వహణ ఉంది, అది ఒక IBAction తిరిగి వెళుతున్న కాబట్టి మరియు ఈ అని XCode ఒక సూచనను ఉంది ఈ నేను ఏదో WIRE మీరు ఏదో ఉంది. నేను buttonPressed, సెమికోలన్ వలె, ఇది ఒక పేరు ఇస్తుంది. ఇప్పుడు నా క్లాస్ లోపల ఒక కొత్త పద్ధతి డిక్లేర్డ్ చేసిన. నేను ఈ పద్ధతి ఉనికిలో ఉంటుంది అన్నారు చేసాము. ఇప్పుడు ViewController.m వస్తాయి కదా, మరియు యొక్క ఈ పద్ధతి చెయ్యగలరు అని పిలవబడు. నేను టైప్ చెయ్యడం ప్రారంభించండి ఉంటే, ఉదాహరణకు, (తప్ప) buttonPressed ప్రకటన XCode నిజంగా నైస్ మరియు నాకు autocompletes. ఇది నిజంగా అద్భుతమైన ఉంది. . M ఫైల్ లోపల నేను కూడా తప్ప చెప్పగలదు ఇక్కడ గమనించండి, ఆ IBAction అసలైన రకం కాదు ఎందుకంటే మరియు ఈ ఉంది. ఇది వాస్తవానికి, ఒక చెల్లనిదనీ మరొక నిర్వచించిన హాష్ ట్యాగ్ యొక్క మళ్ళీ, ఈ కేవలం అని XCode ఒక సూచనను ఉంది నేను ఈ కార్యక్రమం నిర్వహణ ఉండాలనుకుంటున్నాను, మరియు ఎందుకు ఒక క్షణంలో మేము చూస్తారు. ఈ బటన్ నొక్కినప్పుడు నేను బాధించే ఏదో ఒకటి వెళుతున్న ఒక పాపప్ ను ప్రదర్శించడానికి ఇష్టం. నేను UIAlertView అని ఈ తరగతి యొక్క ఒక కొత్త ఉదాహరణకు సృష్టించవచ్చు ఆ చేయుటకు మరియు ఈ ఆపిల్ బాధించే పాప్అప్లని ప్రదర్శించడానికి జరగబోతోంది అని వ్రాసారు ఒక తరగతి ఉంది. మేము ఈ పాపప్ హెచ్చరిక పిలుస్తాను, మరియు నేను 2 దశలు ఉన్నాయి, ఈ వస్తువు రూపొందించటంలో గుర్తుంచుకోండి. నేను ఏమి చేయాలి మొదటి విషయం స్పేస్ కేటాయించాలని ఉంది. నేను ఒక UIAlertView కావలసిన. నేను స్పేస్ కేటాయించే కావలసిన. నా మొదటి పద్ధతి ఉంది. నా తదుపరి పద్ధతి, నేను ప్రారంభించడం దీనిని చేస్తారు మరియు నేను initWithTitle అని ఈ పెద్ద, దీర్ఘ పద్ధతి ఉంది. ప్రాథమికంగా ఈ పాపప్ చెప్పే నియంత్రించడానికి జరగబోతోంది. నా పాపప్ యొక్క శీర్షిక హలో ఉంటుంది. ఈ పాపప్ యొక్క సందేశం ఉంటుంది "ఈ iOS ఉంది." ప్రతినిధి విషయం, నేను ఆ ఏమి లేదు. లెట్ యొక్క ఇది ఏమీ మాట్లాడను. ఇప్పుడు కనిపించే అవకాశముంది బటన్ ", ఇది ఖచ్చితంగా" వంటి ఏదో చెప్పగలను మరియు నేను నిజంగా ఇతర బటన్లు ఇష్టం లేదు, కాబట్టి యొక్క ఆ తొలగించి బ్రాకెట్ దగ్గరగా తెలియజేయండి. ఓకే, నేను ఒక అదనపు ఒకటి. అక్కడ మేము వెళ్ళి. ఈ నేను కొత్త పాపప్ సృష్టించవచ్చు ఎలా ఉంది. నిజానికి పాపప్ చూపించు ఇఫ్ ఐ వాంట్ షో పద్ధతి కాల్ మీరు. నేను హెచ్చరిక మరియు ప్రదర్శన చెప్పగలదు ఆ చేయుటకు మళ్ళీ, స్వీయపూర్తి సూపర్ బాగుంది. నేను s లో టైప్ ఉంటే, దేని మర్చిపోయాను, ఉంటే నేను, ఇది ఏ గుర్తించడానికి ఇక్కడ స్క్రోలు చేయవచ్చు మరియు ఇది చక్కగా వేరు. ఇప్పుడు నేను ఈ కొత్త పాపప్ రూపొందించినవారు. మేము, తర్వాత ప్రతినిధి అర్థం వచ్చి చేస్తాము మరియు ఇప్పుడు నేను ఈ పద్ధతి ఉపయోగించవచ్చు అనుకుందాం మీరు నేను బటన్ నొక్కినప్పుడు, నా స్టోరీబోర్డ్ వచ్చి వెళుతున్న కాబట్టి ఇప్పుడు ఈ IBAction అటాచ్ కావలసిన. మీరు చేయాలనుకుంటున్నారా మొదటి విషయం బటన్ క్లిక్ చేయాలి. నేను ఈ బటన్ నొక్కినప్పుడు ఏమి ఏదో మీరు. నేను కంట్రోల్ తగ్గేందుకు వెళుతున్న కాదు. నేను క్లిక్ చేయండి మరియు బటన్ నుండి డ్రాగ్ వెళుతున్న ఇక్కడ పైగా ఎక్కడ అది అభిప్రాయాలను కంట్రోలర్ చెప్పారు. మేము ఇది చక్కగా అప్ వెలిగించే ఆ చూడగలరు. నా మౌస్ తో వెళ్ళి చేస్తే నేను కొన్ని ఎంపికలు ఉన్నాయి నేను ఎక్కడ ఇప్పుడు ఇక్కడ ఈ పాపప్ ఉన్నాయి. ఈ ఒకటి నేను నమోదు చేసే ఈవెంట్లను ఉంది. ఈ నా h ఫైలు IBActions గా ప్రకటించింది పద్ధతులను అన్ని. ఇది XCode ఈ చిన్న జాబితా కనిపిస్తాయి తెలుసు ఎలా ఉంది కాబట్టి ఇది ముందు సూచనను స్. నేను ఒత్తిడి బటన్ పై క్లిక్ చేస్తే, నేను ఇప్పుడు ఈవెంట్ హ్యాండ్లర్ నమోదు చేసిన. జావాస్క్రిప్ట్ లో మేము నేను ఈవెంట్ హ్యాండ్లర్ నమోదు కొన్ని కోడ్ ఉన్నాయి, అవి వచ్చింది. ఆబ్జెక్టివ్-C లో నిజంగా ఆ సులభం. నేను మళ్ళీ ఈ అమలు చేస్తే ఇప్పుడు నేను బటన్ నొక్కండి నా ఈవెంట్ నిర్వహణ, అగ్ని అన్నారు మరియు నేను ఈ పాపప్ పొందడానికి వెళుతున్న. అక్కడ సూపర్, సూపర్ సాధారణ. మీరు రిజిస్టర్ జరిగే సంఘటనలు అన్ని చూడాలనుకుంటే ఒక భాగంపై నేను ఈ బటన్ క్లిక్ చేస్తే మరియు నేను కుడివైపు ఇక్కడ పైగా వచ్చి మొదటి మీరు, నేను బటన్ రకం వంటి విషయాలను ఇక్కడ పైగా చూడగలరు ఆ నేను లేదా పరిచయాన్ని జోడించు బటన్ను ఒక అనుకుంటే లేదా ఏ. నేను ఈ బటన్ సంఘటనల యొక్క అన్ని చూడాలనుకుంటే నేను కుడివైపు ఇక్కడ అన్ని మార్గం వచ్చి ఉంటే మేము ఈ విభిన్న ఈవెంట్లలో అన్ని సందర్భాలలో ఇక్కడ చూడగలరు. నేను టాప్ రెట్టింపు లేదా ఎలాగైనా ఉన్నప్పుడు, బటన్ వీడలేదు, నేను, బటన్ నొక్కండి మరియు నేను నమోదు ఒకటి, ఈ సంఘటన ఇన్సైడ్ టచ్ పిలుస్తారు మరియు ఈ వెంటనే నా వేలు బటన్ ఆఫ్ వస్తుంది చెప్పారు ఆ సంఘటన అగ్ని అన్నారు, మరియు ఖచ్చితంగా కేవలం సంభవించి. ఈ డిఫాల్ట్ బటన్ ను నొక్కిన ఈవెంట్ యొక్క రకం. ఏదైనా ప్రశ్నలు ఇప్పటివరకు? సరే, మేము మా కోడ్ విషయాలు అప్ WIRE కు ప్రారంభించవచ్చు ఎలా మా ఇంటర్ఫేస్ యొక్క లోపల విషయాలు లోకి. మేము వచ్చింది మొదటి విషయం, కోడ్ కనుగొనేందుకు ఉంది గుర్తుంచుకో మరియు తర్వాత మేము, కోడ్ ఇంటర్ఫేస్ అప్ వైర్డు మరియు మా మొదటి అనువర్తనం లేదు. సరే, ఆ నిజంగా చల్లని ఉంది, మరియు మేము ఈ బటన్ సృష్టించింది. మేము ఉంటే లక్షణాలు కొంత సృష్టించడానికి కలిగి ఉండరాదని ఏమిటి ఈ బటన్ ప్రాతినిధ్యం? ఉదాహరణకు, ఈడ్పు టాక్ TOE లో నేను, 9 బటన్లను కలిగి మరియు అది 9 సార్లు డ్రాగ్ మరియు డ్రాప్ చేసుకోవడం సూపర్, సూపర్ బాధించే అంటాను లేదా నేను 81 తో ఈడ్పు టాక్ TOE తయారు బదులుగా 9 వచ్చింది ఉంటే మరియు నేను లాగి 81 సార్లు తొలగించడం వలన, మరియు ఆ మందకొడిగా ఉంది. మనం బదులుగా చేయవచ్చు చాలా ఒక HTML వలె ఉంటుంది మేము ID లు మరియు పేర్లు వంటి వాటిని కలిగి మరియు మేము విషయాలను శోధించవచ్చు ఉన్నప్పుడు వారి ID ద్వారా, ట్యాగ్లు అని iOS ఇదే భావన ఉంది. ఒక ట్యాగ్ కేవలం ఒక భాగం కోసం ఒక ఏకైక సంఖ్యా ఐడెంటిఫైయర్గా ఉంటుంది. నేను ఈ 0 యొక్క ట్యాగ్ను కలిగి ఉంటే, ఉదాహరణకు, నేను బటన్ను సృష్టించడానికి మరియు 0 యొక్క ట్యాగ్ను అందజేస్తారు, మరియు మేము ఒక క్షణంలో అలా ఎలా చూస్తారు ఉంటే, నేను బటన్ పొందాలనుకోవడం నేను కేవలం నేను కాల్ అనుకుందాం చేయవచ్చు ఇక్కడ పైగా వస్తువు మీద పద్ధతి viewWithTag, ఉదాహరణకు ప్రస్తుత స్క్రీన్ ను సూచించే self.view. నేను ఆ viewWithTag పద్ధతి కాల్ ఉంటే, నేను ట్యాగ్ 0 తో బటన్ పుల్ బాక్ వెళుతున్న. యొక్క భవనం ఈడ్పు టాక్ TOE ద్వారా ఈ పరిశీలించి చూద్దాం. మొదటి, ఈ నా స్టోరీబోర్డ్ ఉంది. నేను ఈ 10 UI బటన్లు సృష్టించారు. వారు ఒకే పరిమాణం ఉన్నారు గమనించండి. నేను ఈ ఒకదాన్ని క్లిక్ చేయండి మరియు నేను ఈ కుడివైపు ఇక్కడ పైగా తిరిగి రండి ఉంటే మీరు, నేను ఇక్కడ font సర్దుబాటు, నేను కొద్దిగా పెద్ద font చేసిన చూస్తారు కానీ నేను కూడా ఏమి నేను ఈ ట్యాగ్ సెట్ ఉంది. నేను ఈ 1 యొక్క ట్యాగ్ను చెప్పాడు, మరియు ఆ పైన ఎడమ ఉంది. ఇప్పుడు, నేను మరొక బటన్ను క్లిక్ చేస్తే, ఇక్కడ ఈ రెండవ విధంగా ఇప్పుడు మీరు నా ట్యాగ్ 2 అని చూస్తారు. ఈ బటన్ ప్రతి కేవలం, ఒక ఏకైక ట్యాగ్ మరియు ఈ తరువాత ఎలా నేను పరస్పర ప్రారంభం వెళుతున్న ఉంది నా అనువర్తనంతో. ఇది ఒక అభిప్రాయం నియంత్రిక అన్ని లోపల ఉంది కానీ ఇక్కడ మేము చేసుకున్నది. మేము ఇక్కడ 3 లక్షణాలను కలిగి ఉంటాయి. మొదటి ఒక మరియు చివరి నా బోర్డు రాష్ట్ర ప్రాతినిధ్యం వెళ్తున్నారు. నిజానికి ఈ మొదటి ఒక Xs మరియు Os ఎక్కడ ప్రాతినిధ్యం వ్యూహం ఉంది. ఈ ఇతర దానిని ఇక్కడ దీని మలుపు ఇది మాకు చెబుతుంది. మీరు నేను కూడా ఇక్కడ ఈ విషయాలను కలిగి ఉండటం మీరు గమనించవచ్చు. ముందు మేము లక్షణాలు డిక్లేర్డ్ మేము వాటిని ఒక పేరు మరియు ఒక రకం ఇచ్చారు. మేము కూడా వాటిని ఇక్కడ కొన్ని అదనపు సమాచారం ఇస్తుంది. ఈ మొదటి nonatomic చెప్పాడు, ఇది ఏ చెప్పారు ప్రధానంగా మాత్రమే ఒక విషయం ఎప్పుడూ ఒక సమయంలో ఈ వేరియబుల్ యాక్సెస్ చేయడానికి ప్రయత్నిస్తున్న ఉంటుంది. మీరు బహుళ థ్రెడ్ అని క్లిష్టమైన అప్లికేషన్లు చేయగల అందువలన తిరిగి స్క్రాచ్ లో మేము వివిధ దారాలను కలిగి మరియు వివిధ స్ప్రిట్స్ ఒకే సమయంలో వేర్వేరు పనులను చేయవచ్చు. అది మేము చూడటం వస్తుంది ఆ ఏదైనా లేదు, ఈ సందర్భంలో,, కాకపోతే మేము nonatomic చెప్పుకోవాలంటే నిజానికి విషయాలు కొద్దిగా వేగంగా చేయడానికి జరగబోతోంది. మేము కూడా, కేటాయింపు బలమైన, బలహీనమైన లేదా అని ఈ విషయం ఉంది. ఈ కేటాయించి ఈ ఒక ప్రామాణిక పద్ధతి అని చెప్పాడు. ఈ ఒక bool ఈ, ఒక వస్తువు లేదా ఒక పాయింటర్ కాదు కాబట్టి bool ఆబ్జెక్టివ్-C లోనే ఉంది. ఈ ఇక్కడ గమనికలు తో ఫాన్సీ ఏమీ ప్రయత్నించండి లేదు అన్నారు. ఇది ఒక సాధారణ పాత పంటిగారను గీకి కంపనము కలిగించి నిర్మూలించి సాధనము లేదు. బలమైన మరియు బలహీనమైన, ఈ బలహీనమైన వాస్తవానికి చెప్పారు నేను ఈ అభిప్రాయాలను నియంత్రిక ఏదో సూచించే మీరు కోరుకుంటున్నారు. నిజానికి కేటాయించే వెళ్ళటం లేదా ఈ నాకు init లేదు. ఇంటర్ఫేస్ బిల్డర్, నేను అనువర్తనం అమలు చేసినప్పుడు, ఆ ప్రారంభ నిర్వహించడానికి అన్నారు. నేను బలహీనమైన చెప్పుకోవాలంటే, ఆ ఎవరో ఈ సృష్టించడం కావడం చెప్పారు. నేను బలమైన చెప్పుకోవాలంటే, ఈ నేను ఒకటిగా వెళుతున్న చెప్పారు ఆ, ఈ బోర్డు వస్తువు సృష్టించడం యొక్క మరియు ఇక్కడ నేను ఇక్కడ కొన్ని ఎక్కువ పద్ధతులు ఉన్నాయి ఉదాహరణకు, కొత్త గేమ్ బటన్ నొక్కినప్పుడు ఒక చర్య, ఇతర బటన్ల ఏ ఒత్తిడి చేసినప్పుడు ఒక చర్య, మరియు ఎట్ సెటేరా. మేము, ఈడ్పు టాక్ TOE యొక్క తర్కం యొక్క చాలా లోకి పొందరు అది చాలా ఉద్వేగాన్ని కలిగిస్తోంది, కానీ లెట్స్ పరిశీలించి అయితే మేము iOS లోపలి చేసే కొన్ని విషయాలను. ఈ కొత్త గేమ్ పద్ధతి ఉపయోగించవచ్చు అన్నారు నేను కొత్త ఆట బటన్ నొక్కండి చేసినప్పుడు. అప్ I కేవలం నా స్టోరీబోర్డు మీద వచ్చిన హుక్. నేను కొత్త ఆట క్లిక్. నేను ఇక్కడ పైగా వచ్చి ఉంటే నేను చూడగలరు NewGame పద్దతి వైర్డు ఉంది ఇన్సైడ్ అప్ తాకండి. ఈ తొలగించారు అన్నారు ఎందుకు పేర్కొంది. newGame పద్ధతి కొన్ని సెట్ అప్ చేయండి అన్నారు. నేను మీరు బోర్డు రాష్ట్ర క్లియర్ అనుకుందాం చెప్పారు. ఈ మ్యూట్ చేయగల శ్రేణులపై ఒక nice పద్ధతి. ఇది, ఇప్పుడు X యొక్క టర్న్ చెప్పడానికి అన్నారు మరియు ఇప్పుడు నేను ఈ viewWithTag విషయం యొక్క ప్రయోజనాన్ని వెళుతున్న. నేను, నా బటన్లు టాగ్లు 1-9 ఉందని మీకు మరియు నేను ఏకపక్ష ఎంపిక ఏదో ఉంది. నేను ఖాళీగా ప్రతి బటన్ టెక్స్ట్ సెట్ చేయాలనుకుంటే నేను ఒక కొత్త ఆట మొదలు మరియు నేను ఏ అనుకుంటున్న ఎందుకంటే నేను చేయవచ్చు పైగా Xs లేదా Os విడిచిపెట్టడం. నేను ట్యాగ్ తో వీక్షణ, 1, 2, 3, 4 et సెటేరా అనుకుందాం చేయవచ్చు. ఈ విభిన్న బటన్ ప్రతి సమయం పుల్ కనిపిస్తుంది. ఇక్కడ నేను UIButton దానిని తారాగణం వెళుతున్న. మేము తేలియాడుతున్న పక్కకు ints తారాగణం కాలేదు వలె ఈ నేను UIButton ఈ నటింపచేయాలని కావలసిన చెప్పారు. అనగా ఈ రకం ఒక UIButton * ఉంటుంది ఎందుకంటే గమనికలు యొక్క, అయితే చింతించకండి, వారు ఇకపై స్కేరీ లేదు. ఒకసారి నేను ఒక పద్ధతి కాల్ వెళుతున్న ఈ బటన్. ఈ పద్ధతి setTitle forState అని, అందువలన ఈ చెప్పారు ఉంది నేను, ఖాళీ స్ట్రింగ్ అయి బటన్ యొక్క టెక్స్ట్ సెట్ చేయాలనుకుంటున్నారా మరియు నేను దానిని నొక్కినప్పుడు కాదు ఉన్నప్పుడు ఖాళీ స్ట్రింగ్ ఉండాలనుకుంటున్నాను. నేను ఈ పద్ధతిని ఉపయోగించి, నేను బటన్ టెక్స్ట్ మార్చవచ్చు ఎవరైనా దానిని తాకిన, కాని మేము బటన్ అక్కడే కూర్చొని ఉన్నప్పుడు చెప్పాలనుకోవడం వెంటనే నేను టెక్స్ట్ ఖాళీ ఉండాలనుకుంటున్నాను. చివరగా, మేము, నా బోర్డు ప్రారంభించడం వెళుతున్న మరియు నేను, ప్రతిదీ 0 వద్ద ప్రస్తుతం పేర్కొన్నారు వెళుతున్న ఈ బోర్డు కాబట్టి సభ్యులు శాశ్వతమని, ఒక మ్యూట్ చేయగల శ్రేణి ఇది నేను addObject పద్ధతి మరియు ఇది కేవలం ఒక 0 లోపల కాల్ దీని అర్థం. నేను ఒక కొత్త గేమ్ ను ఏర్పరచటంలో ఏమి జరుగుతుంది ఉంది. యొక్క మరొక ఒక పరిశీలించి చూద్దాం. ఇక్కడ ఈ పద్ధతి ఒత్తిడి చేస్తాడు ఆ IBAction ఉంది ప్రతిసారీ ఆ కూడళ్లలో ఒకటి నొక్కినప్పుడు. ఇప్పుడు మేము కొన్ని ఈడ్పు టాక్ TOE ఇక్కడ లాజిక్ ఉంది. మేము, దీని మలుపు ఇది గుర్తించడానికి మరియు, మేము గాని ఒక X లేదా ఒక O సెట్ మీద ఆధారపడి కానీ మేము ఈ ఒకే ఈవెంట్ను హ్యాండ్లర్ తిరిగి చేస్తున్న గమనించి ఆ బటన్ల ప్రతి ఒకటి. నేను పైన ఎడమ బటన్ కొరకు పద్ధతి లేదు అని, నేను కుడి దిగువన బటన్ కోసం వేరొక పద్ధతి, ఆ పని కాలేదు కలిగి ఉంటాయి. ఆ మంచి డిజైన్ కాదు. నేను ఇక్కడ చేస్తున్నదాన్ని నిజానికి గుర్తించేందుకు వెళుతున్న ఉంది ఒత్తిడి చేశారు బటన్ ట్యాగ్ ఏమిటి. మీరు ఈ ఆట పద్ధతి ఒక వాదన సమయం పడుతుంది. ఇది పంపినవారు అని, మరియు సెండర్ పంపినవారు అన్నారు ఉంది ఉంది సరిగ్గా మీద చర్య తీసుకోలేదు ఏమి సూచిస్తాయి. నేను ఒక బటన్ నొక్కండి, ఈ సెండర్ ఆ UIButton అవతరిస్తుంది నిజానికి ఒత్తిడి, అందుచే అని ఆ UIButton నేను ఒక ట్యాగ్ రూపొందించినవారు ఎందుకంటే ఒక ట్యాగ్. నేను ట్యాగ్ తెలుసుకొనుట ఇఫ్ ఐ వాంట్ కేవలం చెప్పగలదు నేను, పంపినవారి ట్యాగ్ కావలసిన మళ్ళీ, నేను UIButton దానిని casted చేసిన. నేను పంపిన UIButton అని తెలుసుకోవటానికి పొందుతున్నారు. ఇది ఎల్లప్పుడూ ఒక UIButton అని లేదు. నేను, ఉదాహరణకు, ఒకే సంఘటన హ్యాండ్లర్ నమోదు కాలేదు  ఒక బటన్, ఒక స్లయిడర్ ఒక ఒక కోసం. ఈ సందర్భంలో, నేను వారు అన్ని బటన్లు కాదని మాకు తెలుసు, కాబట్టి నేను వెళుతున్నాను నేను ఈ బటన్ ఉండాలనుకుంటున్నాను, మరియు అప్పుడు నేను, ట్యాగ్ పొందవచ్చు మరియు ట్యాగ్ నుండి నేను ఇప్పుడు నేను బోర్డు యొక్క లోపల ఎక్కడ తెలుసు. అప్పుడు నేను కేవలం X లేదా O, మలుపు ఫ్లిప్, గాని సెట్ చేయవచ్చు , et సెటేరా గెలుచుకున్న తనిఖీ. ఈ ఇప్పటివరకు ఏ ప్రశ్నలు? సరే, మేము ఆన్లైన్-మేము చాలా పొందడానికి అనుకుంటున్న పోస్ట్ అన్ని కోడ్ ఈడ్పు టాక్ TOE తర్కం యొక్క, కానీ ఇప్పుడు మీరు ఆ నిజంగా చూడగలరు మేము చేస్తున్నా అన్ని, మేము ఈ శ్రేణి మీద మళ్ళీ వెతికినా చేస్తున్న ఉంది కాబట్టి మేము ఇక్కడ ఉచ్చులు కోసం ఒక జంట కలిగి, మరియు మేము కేవలం చూడటానికి పోల్చడం చేస్తున్నారు మేము అన్ని వరుసలు, ఆ వంటి కాలమ్ లేదా ఏదైనా ఒక మ్యాచ్కు ఉన్నాయి. నేను ఈ బటన్ల ఒక నొక్కండి ఉంటే వాస్తవానికి, ఈ అనువర్తనం అమలు ఆ ఆట పద్ధతి తొలగించారు, నేను సెట్ అనగా కాబట్టి బటన్ ఒక X అని, కాబట్టి ఇప్పుడు ఈ బటన్, ఒక O ఆ విధంగా ఉంటుంది అందువలన, మేము ఈ సింగిల్ పేజీ అనువర్తనం సంప్రదించుటకు మొదలు పెడుతున్నారు ఎలా. మేము కోడ్ పోస్ట్ చేస్తాము, కాబట్టి ఆ పరిశీలనగా సంకోచించకండి, కానీ ప్రస్తుతం కేవలం ఒక పేజీ కంటే కొన్ని Apps గురించి మాట్లాడేందుకు అనుమతిస్తాయి. ఈడ్పు టాక్ TOE గా అద్భుతమైన iOS లోపలి Apps చాలా ఉంది ఈ డ్రిల్ రకం బహుళ తెరలు తో విషయాలు ఉండవు. మేము మాట్లాడటానికి అవసరం మొదటి భావన, ప్రోటోకాల్లు మరియు ఒక ప్రోటోకాల్ కేవలం పద్ధతులు సమితి మీరు నిర్వచించడానికి హామీ ఆ. నేను 2 విధానాలతో ఈ కొత్త ప్రోటోకాల్, ఈ మొదటి ఒకటి, సృష్టిస్తే తిరిగి టైప్ తప్ప ఉంటే, నేను foo అని. ఇది ఎటువంటి వాదనలూ లేవు పడుతుంది. నేను మరొక పద్ధతి ఉంది. ఇది ఒక పూర్ణాంకానికి తిరిగి. నేను ఆడడానికి అని, మరియు ఇది ఒక వాదన పడుతుంది. ఈ ప్రోటోకాల్, ఇక్కడ SomeProtocol అప్ అని ఉంది ఈ ఎవరైనా అమలు చేసే విషయాలను సమితి. నేను లోపల ఈ ప్రోటోకాల్ యొక్క foo ఏమి చెప్పాడు లేదు. బదులుగా, నేను మీరు అనుకుంటే మీరు foo నిర్వచించే కాలేదు మాట్లాడుతూ నేను. నేను వీక్షణ నియంత్రిక సృష్టించడానికి ఒక తరగతి సృష్టించడం నేను ఉంటే నేను లోపల తరగతి ప్రామిస్ అమలు చేయవచ్చు వీటిలో కొన్ని పద్దతులు, కాబట్టి, ఉదాహరణకు, సే ఈ ఇప్పుడు నేను మీరు ప్రతిజ్ఞ చేయడం చేసాను అని లోపల ఈ అభిప్రాయాలను నియంత్రిక తరగతి నేను foo మరియు బార్ రెండు కోసం నిర్వచనాలు ఉంటుంది. ఎందుకు ఆ ఉపయోగపడుతుంది? IOS లోపలి భాగాలు చాలా ఈ ప్రయోజనాన్ని రూపకల్పన నమూనా బృందంతో అని, ప్రతినిధుల్లో ఏమి చెప్పారు అంటే, ఉదాహరణకు, నేను ఒక టెక్స్ట్ బాక్స్ ఉంటే మరియు నా టెక్స్ట్ బాక్స్ లోపల నమోదు అని కొన్ని సంఘటనలు ఉన్నాయి బదులుగా నేను చెయ్యగలరు ప్రత్యేక సంఘటనలు కంటే నేను చెప్పగలను ఉంది ఈ టెక్స్ట్ బాక్స్ ప్రతినిధి కొన్ని వస్తువు ఉంటుంది. నేను ఈ ఇప్పుడు ఒక ప్రతినిధి అని చెప్పినప్పుడు ఆ అర్థం కొన్ని ఈవెంట్ టెక్స్ట్ బాక్స్ లో ఎక్కడ ఉండేది చేసినప్పుడు కంటే లేదా అలాంటిదే ఏదైనా నమోదు అవసరం ఇది ప్రతినిధి ఒక పద్ధతి కాల్ చెప్పారు. ఉదాహరణకు, లోపల నా టెక్స్ట్ బాక్స్ నేను నొక్కినప్పుడు ఒక పద్ధతి కలిగి ఆ, క్రింద కుడి బటన్ పూర్తి అందువలన కాకుండా నేను చెప్పగలను ఏమి ఈవెంట్ నిర్వహణ ఉంది నమోదు టెక్స్ట్ బాక్స్, ఇక్కడ నేను మీరు ఒక పద్ధతి కాల్ చేయదలిచిన ఒక వస్తువు అయినా ఎవరో ఒకరు యంత్రాలపై చేసిన బటన్ మరియు ఆ వస్తువు కొన్ని ప్రోటోకాల్ అమలు ఉంటుంది అర్థం ఆ నేను, ఆ పని బటన్ చర్య నిర్వచించడానికి హామీ చెప్పారు ఎందుకంటే ఆ పద్ధతి నిర్వచించలేదు మరియు మీరు పూర్తి ప్రెస్ ఉంటే, అప్పుడు కంగారు చేస్తాడు. యొక్క ఒక ఉదాహరణ పరిశీలించి చూద్దాం. ఇక్కడ నేను కేవలం, ఒక టెక్స్ట్ బాక్స్ మరియు ఈ కుడివైపు ఇక్కడ ఈ టెక్స్ట్ బాక్స్ లక్షణాలను ఒకటి ప్రతినిధి ఉంది. ఈ తరగతి యొక్క ఒక లక్షణం ఉంది. నేను ఇక్కడ చేశాడు నేను క్లిక్ నియంత్రించడానికి, నేను ఇక్కడ ఈ ప్రదేశం నుండి లాగారు అభిప్రాయం నియంత్రిక, మరియు ఇప్పుడు ఈ టెక్స్ట్ బాక్స్ ప్రతినిధి చెప్పారు వీక్షణ నియంత్రిక అని అన్నారు. కొన్ని చర్యలు జరిగే కాకుండా నమోదు చేయకుండా అని నేను మీరు ప్రతినిధి వాటిని పంపాలని ప్రత్యేక కార్యక్రమం నిర్వాహకులు. ఇప్పుడు నా అభిప్రాయం నియంత్రిక పరిశీలించి అనుమతిస్తుంది. . H ఫైల్ లోపల నేను ప్రతిజ్ఞ చేసిన. నేను ఈ ప్రోటోకాల్ యొక్క లోపల కొన్ని పద్ధతులు అమలు వాగ్దానం చేసిన UITextFieldDelegate, మరియు తిరిగి, అని ఇది నేను అమలు ఎంచుకోవచ్చు కొన్ని కొన్ని విషయాలు జాబితా ఉంది. నా. M ఫైలు ఇక్కడ వచ్చి ఉంటే, నేను అలాంటి విధానం అమలు చేశారు. నేను textFieldShouldReturn అని చేసిన అది ప్రోటోకాల్ యొక్క లోపల అని పిలిచారు ఎందుకంటే. ఇప్పుడు నేను ఆ టెక్స్ట్ ఫీల్డ్ యొక్క పూర్తి బటన్ నొక్కండి లోపల చేసినప్పుడు ఈ అనే పెట్టడానికి ఏమి ఉంది, నేను ఒక సంఘటన హ్యాండ్లర్ నమోదు చేయలేదు. నేను ప్రతినిధి అనుసంధానం మరియు ఈ సంఘటన తొలగించి చేసినప్పుడు ఈ నా స్టోరీబోర్డ్ ఇక్కడ పైగా వచ్చి అమలు అయితే, అని పొందుతాయి పద్ధతి అది- ఆ లోడ్ సమయంలో మేము ఈ ఏమి చూడగలరు. నా తెరపై నేను 2 విషయాల్లో. నేను ఈ టెక్స్ట్ ఫీల్డ్ లేదు, నాకు ఈ లేబుల్ ఉంది. నేను కేవలం నేను ఈ లేబుల్ యొక్క టెక్స్ట్ మాట్లాడుతూ నేను యూజర్ టెక్స్ట్ ఫీల్డ్ లోపల లో టైప్ ఏ కు సమానమైనది. ఇక్కడ ఈ తదుపరి లైన్ కేవలం నేను కాల్ చేస్తున్నాను ఒక పద్ధతి నేను మీరు కీబోర్డ్ దాచాలనుకుంటున్నారా అని టెక్స్ట్ ఫీల్డ్ లో. ఇది ఆపిల్ యెంచుకొనిన ఏకపక్ష పద్ధతి. నేను ప్రతిదీ అప్ WIRE వచ్చింది ఏదీ ముందు, నేను మొదటి ఇక్కడ పైగా వచ్చింది. వీక్షణ నియంత్రిక నేను టెక్స్ట్ బాక్స్ కు లాగండి. నేను ఈ టెక్స్ట్ ఫీల్డ్ ఆస్తి చేసే నేను వీడలేదు, మరియు నేను ఇక్కడ చూడగలరు పైగా ఇక్కడ వీక్షణ నియంత్రిక లో నుండి నేను ఒక ఆస్తిని నిర్వచించిన చేసిన ఒక టెక్స్ట్ ఫీల్డ్ ఒక IBOutlet ఉంది. ఈ నేను ఈ ఆస్తి అప్ WIRE చేయవచ్చు చెప్పారు నా UI లో ఒక టెక్స్ట్ ఫీల్డ్ కు. ఇప్పుడు నేను ఈ క్లిక్ చేసినప్పుడు నేను టైప్ చెయ్యవచ్చు. నేను చేసిన బటన్ను క్లిక్ చేస్తే ఇప్పుడు ఈ కాల్పులు అన్నారు నేను ఇప్పుడు స్పందించడం చేసే కార్యక్రమం. ఏ పరిస్థితుల్లోనూ హ్యాండ్లర్లు. నేను ఆ పని బటన్ స్పందించింది ఎలా. సమంజసం? ఇది మీరు ఆ ఎప్పుడూ మీరే లభించకపోవచ్చు ఒక నమూనా నమూనా కాదు మీ స్వంత ప్రోటోకాల్ సృష్టించడం, కానీ తెలిసిన కొన్ని వివిధ iOS భాగాలు వివిధ మార్గాల్లో ఈవెంట్స్ నమోదు. బటన్లు, ఉదాహరణకు, ఆ IBActions ఉపయోగించండి. టెక్స్ట్ ఖాళీలను, మరోవైపు, ప్రతినిధులు ఉపయోగించడానికి వెళ్తున్నారు. మేము చూడగలరు మరియు మీరు పత్రికీకరణ యొక్క అప్ లోపల అన్ని చూడవచ్చు. మార్గం ద్వారా, మీరు కోసం iOS నిర్మించారు UI stuff ఒక టన్ను, వాస్తవానికి ఉంది కాబట్టి, ఉదాహరణకు విధంగా నేను కుడి దిగువన జరుగుతుంది పేర్కొన్నట్లు చేసిన నేను ఈ టెక్స్ట్ ఫీల్డ్ ఎంపిక. నేను ఇక్కడ పైగా వచ్చింది. నేను, కీ తిరిగి కొంచెం నెమ్మదిగా scrolled నేను ఆ అనుకుంటే ఇష్టం వాస్తవానికి, ఈ విషయాలను మొత్తం బంచ్ చేయవచ్చు అత్యవసర బదులుగా నేను, పూర్తిగా రాండమ్ ఇది ఆ చేయవచ్చు కాల్ ఒక అంతర్నిర్మిత అత్యవసర కాల్ బటన్ ఉంది ఎందుకు నేను, తెలియదు అయితే, నిజంగా చిన్న అక్షరాలు అత్యవసర కాల్ అది. అక్కడ మీరు వెళ్ళండి. ఖచ్చితంగా iOS ఈ వివిధ ఎంపికలు అన్ని అన్వేషించండి. ప్రతినిధులు ఏ ప్రశ్నలు? మరలా, మీరు తెలిసి ఉండాలి ఒక ఆసక్తికరమైన రూపకల్పన నమూనా. సరే, తరువాత పట్టిక అభిప్రాయాలు పరిశీలించి అనుమతిస్తుంది. ఒక పట్టిక వీక్షణ ప్రధానంగా అన్ని iOS లో కంటే వస్తువుల జాబితా ఉంది. మీరు మీ అన్ని పరిచయాలు ద్వారా వేగంగా కదలటం చేసిన తర్వాత, మీరు శోధిస్తున్న సెట్ పేజీ, మరియు విషయాల జాబితా అటువంటి ఒక పట్టిక వీక్షణ అంటారు. IOS ఒక పట్టిక వీక్షణ అమలు అందంగా సులభం. బదులుగా ఆ UIViewController వారసత్వం నుండి ఉద్భవించింది ఒక తరగతి చేయడానికి మేము కేవలం చెప్పడానికి కాకుండా అవసరం ముందు మేము చేసిన వంటి ఒక UIViewController నేను చేయాలనుకుంటున్నారా చేసిన ప్రతిదీ, నేను, ఒక UITableViewController నేను చేయాలనుకుంటున్నారా చేసిన ప్రతిదీ సే తద్వారా కేవలం పూర్తిగా మాకు చేసిన కొన్ని అదనపు విషయాలను జతచేస్తుంది. మేము ప్రధానంగా పట్టిక లోపల ఖాళీలను పూరించడానికి చాలా తక్కువగా వుంటుంది. నేను కొన్ని ప్రశ్నలకు సమాధానం అవసరం పట్టిక ప్రదర్శించడానికి వీలుగా. నేను సమాధానం ఇవ్వాలి మొదటి ప్రశ్న పట్టిక లో ఎన్ని విభాగాలు ఉంది? మీరు మీ పరిచయాలను అప్లికేషన్ ద్వారా వేగంగా కదలటం చేసిన తర్వాత మీరు రకమైన అని మీరు గమనించవచ్చు నాటికి నిర్వహించిన, అప్పుడు మీరు Bs ఉన్నాయి, మరియు మీరు ఆ చిన్న ఉప శీర్షిక ఉన్నాయి. ఆ ప్రతి ఒక విభాగం అంటారు. మీరు లేదా ఈ అవసరములేదు. మీరు చెయ్యాల్సిన మొదటి విషయం ఒక పద్ధతి అమలు ఉంది numberOfSectionsInTableView: టేబుల్ వ్యూ అని. ఊరికే, మీరు ఎన్ని విభాగాలు తిరిగి ఈ మీరు ఒక పెద్ద పట్టిక వీక్షణ ఉంటే ఒక తిరిగి చెప్పొచ్చు. iOS తెలుసుకోవాలి ఆ తదుపరి ప్రశ్నకు మీరు ఎన్ని వరుసలు ఉన్నాయి ఉంది? ఉదాహరణకు, మీరు ఒక పట్టిక వీక్షణ ద్వారా నొక్కి పెట్టటం చేస్తున్నారు. మీరు మీరు శోధిస్తున్న పాటలు ఒక స్థిర సంఖ్యలో లేదా పరిచయాలను ఒక స్థిర సంఖ్యలో ఉన్నాయి. మీరు,, కోర్సు యొక్క, అనేక లేదు నాకు ఉన్నాము అందువలన, iOS ప్రదర్శించడానికి ఎన్ని కణాలు తెలుసు ఎలా. మళ్ళీ, ఈ తిరిగి 3 లాగ చెప్పొచ్చు. నా పట్టిక వీక్షణ 3 వరుసలు కలిగి ఉంది. చివరగా, iOS, ప్రతి కణ ఎలా తెలుసుకోవాలి సో వాట్ నిజానికి ఏమి జరగబోతోంది, డౌన్ ఇక్కడ ఈ పద్ధతి పిలుపు ఈ టేబుల్ వ్యూ: cellForRowAtIndexPath. మీ పట్టిక లోపల ప్రతి కణం ఈ పద్ధతి కాల్ చెప్పారు. ఎలా దీన్ని పిలువాలని ఎన్ని సార్లు తెలుసా? సరే, మీరు విభాగంలో వరుసలను సంఖ్య లోపల చెప్పారు. మేము, మా కణాలు ప్రతి ఈ కాల్ చూడాలని మీరు నిజంగా వంటి విషయాలను ఇక్కడ మరియు లోపల ఈ ఉంది టెక్స్ట్ సెట్ లేదా కుడి వైపున ఉండే చిన్న నీలం బటన్ ఏమి తెలుస్తుంది. ఈ కణాలు పొందడానికి నమూనా, మేము ఈ పద్ధతిని ఉపయోగిస్తారు వెళుతున్న dequeueReusableCellWithIdentifier అని. ఆబ్జెక్టివ్-C, వారి పద్ధతి పేర్లు హాస్యాస్పదంగా పొడవు కోసం బాగా తెలిసిన నిజానికి ఉంది మరియు ఈ నిజంగా పాయింట్ ఉదాహరణకు ఒక నైస్ విషయం. ఈ ఈ పద్ధతి ఉండదు కేవలం నాకు ఒక సెల్ ఇవ్వాలని అన్నారు. జస్ట్ ఒక iOS విషయం. మీరు మీ ఐపాడ్ న 100,000 పాటలు లాగ ఉంటే ఏ iOS చేయాలనుకుంటున్నారా లేదు, 100,000 సెల్స్ కేటాయించాలని ఉంది మీ జాబితా ఎగువన, మీరు నిజంగా మెమరీని కేటాయించాల్సిన అవసరం ఎందుకంటే డౌన్ 99,000 వరుసలు అని సెల్ కోసం? లేదు, మీరు స్క్రోలింగ్ చేస్తున్నపుడు మీరు సహకరించు వంటి కేటాయించాలని రకం ఎందుకంటే. మీరు చేయబడుతుంది. మీరు ఆ స్టుపిడ్ ప్రదర్శన విషయాల గురించి ఆందోళన లేదు. మీరు చెప్పే అన్ని మీరు, ఈ పద్ధతి dequeueReusableCellWithIdentifier పిలుస్తారు మీరు మీ కోసం నేను ఒక కొత్త సెల్ సృష్టించడానికి వెళుతున్న అవసరం ఉంటే ఈ, సరే అన్నారు. మీరు పట్టిక దిగువన ఉన్నారు మరియు అయితే మీరు ఇప్పటికే కొన్ని కణాలు కేటాయించింది చేసిన మీరు నిజంగా ఎప్పుడైనా వెంటనే అవసరం ఉండదు చేస్తున్న పట్టిక వద్ద నేను, మీరు బదులుగా ఒక కొత్త పెడుతోంది వెనుక ఆ ఒకదాన్ని ఇవ్వండి వెళుతున్న మరియు ఈ ఒక నైస్ ప్రదర్శన ఆందోళన ఉంది. మీరు కణాలు మీరే కేటాయించే లేదు. ఒక ఘటం మీరు తిరిగి ఇవ్వాలని జరగబోతోంది. మీరు ఒక సెల్ వస్తువు తిరిగి వెళుతున్న. ఒకసారి మీరు అంశాన్ని చేయవచ్చు సెల్ వస్తువు ఉంది. మీరు text label అని ఈ ఆస్తిని సెల్ టెక్స్ట్ను సెట్ చేయవచ్చు. మీరు కుడి లేదా కొన్ని ఇతర యాదృచ్ఛిక stuff ఆ బాణం జోడించవచ్చు ఈ ఇతర ఆస్తి తో accessoryType అని, అందువలన మరియు మొదలైనవి. యొక్క వాస్తవానికి ఇప్పుడు ఒక పట్టిక వీక్షణ అమలు పరిశీలించి చూద్దాం. నేను ఈ ప్రాజెక్ట్ సృష్టించినప్పుడు బదులుగా ఒకే అభిప్రాయం అప్లికేషన్ చెప్పడం కంటే నిజానికి ఇక్కడ పైగా వచ్చింది మాస్టర్ వివరాలు అనువర్తనం, అందుచే ప్రధానంగా ఈ మెయిల్ అనువర్తనానికి సంబంధించిన ఎడమవైపు పట్టిక వీక్షణ మరియు అప్పుడు కుడివైపు కంటెంట్ ఐప్యాడ్ న. ఐప్యాడ్ లేదా ఐఫోన్ ఈ ఒక పట్టిక వీక్షణ అనుగుణంగా అన్నారు. నా స్టార్టర్ కోడ్ వచ్చింది పేర్కొంది. యొక్క మొట్టమొదటి స్టోరీబోర్డు పరిశీలించి చూద్దాం. ఈ అన్ని ప్రధానంగా రూపొందించినవారు, నాకు జరిగింది. ఈ పేజీకి సంబంధించిన లింకులు బార్, ఒక ఉదాహరణ సెల్ ఎలా అనే దాని నాకు చూపించింది మరియు నేను డబుల్, ఈ క్లిక్ శీర్షిక మార్చవచ్చు. ఏదైనా ఇతర UI ఆందోళనలు నేను అక్కడ నిర్వహించగలుగుతుంది. శీర్షికా ఫైలును రియల్లీ సింపుల్ కనిపిస్తోంది. అయితే ఈ UIViewController తనకు కంటే మేము ఇప్పుడు ఈ ఒక ఉంది చెబుతున్న దాన్ని TableViewController, కనుక మేము అన్ని పట్టిక పద్ధతులు కాల్ చేయదలిచిన తెలుసు. నేను వెళుతున్న ఒక ఆస్తి సృష్టించడానికి కావలసిన తదుపరి నా పట్టిక లోపల విషయాలు. ఈ పట్టిక ఏకపక్ష ప్రదర్శించడానికి అన్నారు పండు జాబితా, మరియు నేను కొన్ని శ్రేణి సృష్టించాలి దీనిలో నేను పండు ఇన్సర్ట్ చేయవచ్చు. నా అమలు ఫైలు మొదటి విషయం యొక్క ఇన్సైడ్ నేను చేయాలనుకుంటున్నారా నేను ఈ శ్రేణి ప్రారంభించడం నిర్ధారించుకోవాలి ఉంది. నేను, alloc init చెప్పారు నా పండు శ్రేణి రూపొందించినవారు, మరియు నేను, అది ఇతర 3 కంటే ఎక్కువ వివాదాస్పదమైన ఒకటి 4 విషయాలు జోడించి ఉన్నది. ఇప్పుడు నేను పరిమాణం 4 యొక్క వ్యూహం ఉంది. మేము CS50 దాన్ని పైకి వణుకు చేస్తున్నారు. నేను ఇప్పుడు పరిమాణం 4 యొక్క వ్యూహం ఉంది. ఇప్పుడు నేను, వాస్తవానికి ఈ ప్రశ్నలకు ఆరంభమవుతుంది, మరియు నేను నేను ఈ అనువర్తనం సృష్టించినప్పుడు ఈ అన్ని ఇప్పటికే నాకు జరిగింది. నేను పట్టిక వీక్షణ లో విభాగాల సంఖ్య అవుట్ టైప్ లేదు. ఇది ఇప్పటికే, మరియు నేను ఖాళీలను పూరించి చేస్తున్నాను. నేను ఎన్ని విభాగాలు ఉన్నాయి? ఒక. పూర్తి. నేను ఎన్ని వరుసలు ఉన్నాయి? Well, నేను ప్రతి పండు ఒక వరుస కలిగి ఉంటాయి, కాబట్టి ఈ సంఖ్య అది ఎలా పెద్దది అని ఏ శ్రేణి యొక్క లక్షణాన్ని? నేను ఎన్ని వరుసలు ఉంది. చివరగా, నేను ఏమి ప్రతి సెల్ ఎలా చెబుతున్నారు అవసరం? నేను dequeueReusableCellWithIdentifier చెప్పడానికి వెళుతున్నాను. మళ్ళీ, ఈ అప్పటికే నాకు రాశారు. నేను ఈ నాకు ఏమి లేదు, మరియు నేను తిరిగి పొందడానికి కావలసిన ఈ స్థానంలో ఈ సెల్. మేము ప్రతి కణం ఈ అదే పద్ధతిగా పేర్కొన్నాడు చేస్తున్న గుర్తుంచుకో, మరియు ఇక్కడ ఈ వాదన, ఈ indexPath వాదన, నేను సైన్ నేను ఏమి వరుస చెప్పారు నేను ఇక్కడ indexPath.row డౌన్ చెప్పినట్టైతే ఈ 0 ఉంటుంది, అది 1 ఉంటుంది, అది 2 ఉంటుంది, మరియు నాకు తెలుసు కాబట్టి ఈ ఉంది నేను ప్రస్తుతం ప్రదర్శించడం నేను ఏమి సెల్. నేను ఈ textLabel ఆస్తి ఉపయోగించి సెల్ టెక్స్ట్ను సెట్ చేయాలనుకుంటున్నారా నా పండు శ్రేణిలో వెళ్ళి పొందడానికి ప్రతి వరుస సంబంధిత వస్తువు. ఈ స్ట్రింగ్ ఉంటే, నేను ఇప్పుడు సెట్ చేస్తున్నాను ఒక స్ట్రింగ్ టెక్స్ట్ ఆస్తి. నేను ఒక విషయం ఇతర చేయవచ్చు. నేను కూడా, కణాలు ప్రతి కార్యక్రమం హ్యాండ్లర్ నమోదు చేసుకోవచ్చు నేను ఈ కణాలు ప్రతి నొక్కండి, అప్పుడు ఈ didSelectRowAtIndexPath, ఈ, నాకు అని అన్నారు కాబట్టి కేవలం ఈ నిర్వచించడం ద్వారా నేను ఇప్పుడు ఏమి నిర్వహించగలుగుతుంది మీరు మళ్ళీ ఒక సెల్ నొక్కండి, మరియు, సెల్ టాప్ ఇది అక్కడ చేస్తున్నారు కాబట్టి మేము మా కణాలు అన్ని ఈ ఒకే ఈవెంట్ను హ్యాండ్లర్ తిరిగి చేయవచ్చు. మళ్ళీ, ఈ iOS నాకు చేస్తున్న విషయం. మరొక బాధించే పాపప్ ను ప్రదర్శించడానికి లెట్ యొక్క ఆ కేవలం మీరు పేరు ఏదో ఏదో ఎంపిక చెప్పారు వరుస వస్తువు అని అన్నారు. నేను ఈ అమలు చేసినప్పుడు, నేను ఈ nice పట్టిక వీక్షణ కలిగి వెళుతున్న ఈ పండు ప్రతి ఒక వరుస, మరియు నేను ఒక నొక్కండి అది ఏమి నాకు చెబుతుంది. సమంజసం? యొక్క ఒక అనువర్తనం యొక్క కొద్దిగా క్లిష్టమైన నిర్మించడానికి లెట్ మీరు టమోటా ఎంపిక క్లిక్ మాదిరిగా ఉంది. స్టోరీబోర్డింగ్ గురించి nice భాగంగా అది మాత్రమే, వ్యక్తిగతంగా మాకు డిజైన్ తెరలు సహాయం మాత్రం కాదు ఉంది అది కూడా, మా మొత్తం అనువర్తనం కలిసి టై సహాయం జరగబోతోంది కాబట్టి మేము భవనం ఉంటుంది చివరి అనువర్తనం, ఇది నీస్ క్రీడా వార్తలు రీడర్ ఉంది మరియు కనుక ఇది బహుళ తెరలను కలిగి అవకాశముంది, మరియు నేను నిజంగా సూచిస్తుంది స్టోరీబోర్డ్ ఈ బహుళ తెరలను ప్రతి, మరియు నేను దూరంగా మరియు ఒక ఉన్నత స్థాయి నుండి నా అనువర్తనం చూడగలరు. నా స్టోరీబోర్డ్ ఒక కొత్త మూలకం లోపల సృష్టించడానికి ఇది ఇంటర్ఫేస్ బిల్డర్ లోపలి నిజంగా సులభం. నేను ఈ మరొక స్క్రీన్ జోడించాలనుకుంటే, ఉదాహరణకు, నేను మొదటి, Apple చాలా ప్రేమిస్తున్నట్లు చిటికెడు జూమ్ తో జూమ్ చేయవచ్చు మరియు డౌన్ ఇక్కడ నేను ఒక బటన్ కోసం అన్వేషణ ముందు మరియు నేను ఒక బటన్ డ్రాగ్ మరియు డ్రాప్ నేను ఒక కొత్త స్క్రీన్ సృష్టించాలని మీరు అనుకుంటే నేను నిజానికి డ్రాగ్ మరియు డ్రాప్ చెయ్యవచ్చు మొత్తం వీక్షణ నియంత్రిక, నేను ఈ పిక్ అయితే, ఇక్కడ దాని పై పుల్ హేయ్, అక్కడ మరొక స్క్రీన్ యొక్క, మరియు అందువలన ఇప్పుడు అదే స్టోరీబోర్డ్ ఫైల్ని ఉపయోగించి నా అనువర్తనం యొక్క లోపల తెరలు అన్ని ఉండవచ్చు, నేను జూమ్ చేయవచ్చు మరియు వారు ఎలా పరస్పర చర్యను. ఈ ఇంకా మాట్లాడకుండా చేస్తుంది. ఈ 2 తెరలు సంకర్షణ మార్గాన్ని మీరు సంబంధాలు నిర్వచించే ఉంది. మీరు ప్రాథమికంగా, మీరు ఈ బటన్ నొక్కండి, ఈ తెర చెప్పగలదు నేను మీరు ఈ కొత్త స్క్రీన్ కు స్లయిడ్ మీరు. అనగా మధ్య సంబంధం ఈ రకమైన లేదు  మొదటి తెర మరియు రెండవ తెర. మీరు ప్రధానంగా బటన్ నుండి రెండవ స్క్రీన్ ఒక బాణం ఉంటుంది నేను ఎక్కడ మీరు ఈ బటన్ నొక్కినప్పుడు ఆ చెప్పాడు. మేము క్లిక్ మరియు ఆ అవుట్లెట్లు నిర్వచించడానికి లాగారు కంట్రోల్ వలె మేము ఈ జారుకుంటారు నిర్వచించడానికి ఇదే చేయబోతున్నామని. మేము ఆ కోసం ఒక ఉదాహరణ చూడండి, మరియు మేము నిజంగా మార్పు ముందు మీరు ఒక స్క్రీన్ నుండి మరొక iOS ఈ పద్ధతి కాల్ తగినంత nice ఉంది prepareForSegue అని, మరియు మేము ప్రారంభించడానికి మీకు ఈ ఉంది ఒక అనువర్తనం నుండి మరొక డేటాను పంపడం. ఉదాహరణకు మనం అది కు చేయబోతున్నారు ప్రధానంగా మాకు అనుమతిస్తుంది లీగ్లు మరియు విభాగాలలో బేస్బాల్ జట్లు ఫిల్టర్. నేను ఒక లీగ్ ఎంపిక, ఉదాహరణకు, నేను మార్పు మీరు నేను విభాగాలు అన్ని ప్రదర్శిస్తుంది పేరు నా తదుపరి స్క్రీన్ కు ఆ లీగ్ లేదా అన్ని వివిధ జట్లలో. ఏమి జట్లు మీరు ప్రదర్శించాలి తెరపై పంపాలి. నేను ఇక్కడ ఈ పద్ధతి యొక్క ప్రయోజనాన్ని వెళుతున్న ఆ చేయుటకు. చివరగా, iOS కేవలం ఒక యాదృచ్చిక పాయింట్. మీరు డేటాను నిల్వ చేయాలనుకుంటే కోర్ డేటా అనే ఈ విషయం, లేదు ఇది వాస్తవానికి పని క్లిష్టమైన యొక్క రకం. మీరు, సమాచారాన్ని నిల్వచేయటానికి SQL ఉపయోగించవచ్చు ఇది మళ్ళీ, పని ఎక్కువ క్లిష్టమైన వైపు nice కానీ రకమైన ఉంది కానీ iOS కూడా, ఆస్తి జాబితాలు అని ఈ నిజంగా మంచి విషయాలు మద్దతు మరియు ఒక ఆస్తి జాబితా కేవలం కీ విలువ జతలను ప్రాతినిధ్యం ఫైలు. మీరు కీలు జాబితా పేర్కొనండి మరియు మీరు ఈ కీ వ్యూహం మాత్రం చెప్పారు. ఈ కీ ప్రధానంగా మీరు చేయవచ్చు ఏదైనా ఒక స్ట్రింగ్ మాత్రం, మరియు JSON లో మీరు, ఒక ఆస్తి జాబితా లోపల చేయవచ్చు మరియు ఈ నిజంగా చక్కగా మాకు కొన్ని డేటా పని అనుమతిస్తుంది. ఉదాహరణకు, నేను సృష్టించిన ఈ Teams.plist ఉన్నాయి. నేను ఒక కొత్త plist ఫైలు రూపొందించినవారు, మరియు నేను క్రింద రంధ్రములు చేసే పరికరము చేయవచ్చు. ఈ నిఘంటువు, ఈ నిఘంటువు ఉంటుంది, ఈ, తీగలు ఉంటాయి మరియు ఈ ఒక JSON పత్రం యొక్క ఒక నైస్ గ్రాఫికల్ ప్రాతినిథ్యం లేదా కీ విలువ జతలను ఒక సెట్, మరియు ఈ నా అనువర్తనం యొక్క లోపలి కృషి చేస్తాము సమాచారం. మొదటి ఇక్కడ పైగా వచ్చి లెట్. మేము ఇప్పుడు చాలా ఫైళ్ళను ఉన్నాయి. కానీ యొక్క మొట్టమొదటి స్టోరీబోర్డు ఇక్కడ పైగా వచ్చి తెలియజేయండి. స్టోరీబోర్డ్ ఇక్కడ నేను జూమ్ చేయవచ్చు అవుట్ మేము ఇప్పుడు ఈ నా అనువర్తనం యొక్క ప్రవాహం అని చూడగలరు. నేను మొదటి ఈ తెరపై ప్రారంభం వెళుతున్న. నేను, ఈ స్క్రీన్ క్రిందికి రంధ్రములు చేసే పరికరము వెళుతున్న మరియు నేను ఈ స్క్రీన్ క్రిందికి రంధ్రములు చేసే పరికరము వెళుతున్న మరియు మేము ఇక్కడ చూడగలరు నేను రకమైన ఉంటే మేము ఈ బాణాలు ఇక్కడ నుండి ఇక్కడ వెళ్లి చేసిన వీటిలో సుమారు ఒక తరలించాలని, నేను కొద్దిగా దగ్గరికి జూమ్ ఉంటే మరియు ఆ బాణం నిర్వచించే మార్గం ఉంది మరియు నేను ఈ అభిప్రాయాలను నియంత్రిక కు వచ్చి ఉంటే, మరియు ఇక్కడ సెల్, మరియు మీరు ఒక సెల్ నొక్కండి నేను ఆ చెప్పాలనుకోవడం నేను మీరు ఇంకొక కు పైగా స్లయిడ్ మీరు. నేను కేవలం, నియంత్రణ డౌన్ జరపవచ్చని కొద్దిగా మీద స్క్రోల్, నియంత్రణ తగ్గేందుకు ఈ సెల్ పైగా లాగి వీడలేదు. మరియు ఇక్కడ పైగా మేము మీరు కావలసిన మార్పు ఏమి చెబుతారు? మీరు పుష్ అని ఆ స్లయిడ్ విషయం ఉపయోగించడానికి మీరు అనుకుంటున్నారా? మీరు దిగువ నుండి పైకి మీరు అనుకుంటున్నారా? ఆ మోడల్ అని. మరియు ఒకసారి నేను ఈ ఒకదాన్ని క్లిక్ చేయండి, ఇది నాకు ఈ బాణం డ్రా జరగబోతోంది మరియు ఆ నిజానికి నేను ప్రత్యక్షముగా ఈ బటన్ నొక్కండి ఏమి జరుగుతుంది నిర్వహించింది చేసిన అర్థం. నిజానికి ఒక స్క్రీన్ నుండి తదుపరి కు స్లయిడ్ ఏ కోడ్ వ్రాయడానికి లేదు. నేను ఇంటర్ఫేస్ బిల్డర్ ఈ దృశ్యపరంగా లోపల నిర్వచించవచ్చు. నేను ఈ బాణం క్లిక్ ఉంటే, మేము ఈ విషయం ఒక పేరు ఇచ్చిన చూడగలరు. నేను showDivisions అని, మరియు ఈ నాకు తెలుసు కనుక ఉంది ఏ మార్పు గురించి సంభవించే, మరియు ఎందుకు కేవలం క్షణ లో మేము చూస్తారు. నేను నా అనువర్తనం వివిధ తెరలు అప్ వైర్డు చేసిన ఎలా. ఈ బటన్, ఉదాహరణకు, కాకుండా పట్టిక వీక్షణ ఉంటే, నేను, తదుపరి స్క్రీన్ కి డ్రాగ్ బటన్ క్లిక్ నియంత్రించేవారు మరియు నేను పేజీకి సంబంధించిన లింకులు విధంగా చేయవచ్చు ఎలా. రియల్లీ త్వరగా, మేము MasterViewController వస్తాయి ఉంటే, మళ్ళీ, మేము కేవలం విషయాలను జాబితా నిర్వచించడానికి వెళుతున్న ఆ పట్టిక వీక్షణ ప్రదర్శించబడుతుంది. ఇక్కడ నేను మీరు ఆ plist ఫైలు తీసుకొవాలనుకోవటము మాట్లాడుతూ నేను మరియు నేను మీరు, ఒక నిఘంటువు దానిని అప్ లోడు చేయాలనుకుంటే మరియు ఒకసారి మీరు ఆ నిఘంటువు కలిగి, నేను మళ్ళీ ఆ అదే ప్రశ్నలకు సమాధానం వెళుతున్న. ఇక్కడ విభాగాల సంఖ్య. ఒకటి, ప్రతి లీగ్ కోసం వరుస, మరియు ప్రతి ఒక్క సెల్ టెక్స్ట్ ఉంది కాబట్టి మొదటి ఒకటి, మొదటి లీగ్, రెండవ లీగ్, మరియు గాని ఉండాలి. చివరగా, నేను, మేము prepareForSegue అని భావించారు ఈ పద్ధతిని ఉపయోగిస్తారు వెళుతున్న మరియు ఈ నేను క్లిక్ చేసినప్పుడు కాల్పులు చేస్తాడు ఆ పద్ధతి ఆ వరుసలు ఒకటి మరియు అందువల్ల ఆ మార్పు ఆక్టివేట్ నేను బాణాలు తో ఏర్పాటు చేసే. ఈ నేను బహుళ కలిగి అని ఒక స్క్రీన్ నుండి మరొక సంబంధాలు. నేను 2 బటన్లను కలిగి మరియు ప్రతి బటన్ వేరే తెరకి తీసుకుని వెళ్తుంది ఉంటే నేను ప్రతి బటన్ 2 జారుకుంటారు, 1 కలిగి వెళుతున్న. కానీ ఈ prepareForSegue తిరిగి వాడరాదు కు వెళ్ళి మళ్ళీ ఉంది వివిధ సంబంధాలు ప్రతి, తద్వారా నేను ఒక మార్గం ఉండాలి మీరు మొదటి బటన్ నొక్కండి లేదా మీరు రెండవ బటన్ నొక్కండి ఉంటే గుర్తించడం. నేను ఆ segue ఒక పేరు, ఈ showDivisions, ఇచ్చినపుడు గుర్తుంచుకో ఆ ఇప్పుడు ఈ యాక్టివేట్ చేస్తారు segue అని తెలుసు ఎలా. నేను అన్ని నేను చెప్పాలనుకోవడం లేదు నేను, నేను ఏది గుర్తించడానికి కావలసిన అందువలన, పొందడానికి, నేను ఎంచుకున్న వరుస కోసం indexPath అనుకుందాం చేయవచ్చు నేను క్లిక్ పేరు indexPath గుర్తు కేవలం అన్నారు తరువాత నేను వెళుతున్నాను పేరు గుర్తించడానికి కావలసిన చెప్పాలనుకోవడం. ఈ destinationViewController, ఆ segue ఒక ఆస్తి ఉంది. అంటే, నేను వెళుతున్న స్క్రీన్ యొక్క నేను నేను వెళుతున్న స్క్రీన్ DivisionsViewController అని తెలుసు నేను ఆ వర్గాన్ని సృష్టించింది, ఎందుకంటే అందువలన ఇప్పుడు నేను d.divisions చెప్పుకోవాలంటే నేను ఇప్పుడు నేను వెళ్ళడానికి గురించి ఉన్నాను వీక్షణ నియంత్రిక ఒక ఆస్తి సెట్ చేస్తున్నాను. ఈ నేను మరొక స్క్రీన్ ఒక స్క్రీన్ నుండి డేటాను పంపడం నేను ఎలా ఉంది. ఈ DivisionsViewController చూడటం మీరు ఇక్కడ చూడగలరు. h ఫైలులో అక్కడ ఆ ఆస్తి విభాగాలు, మరియు ఆ నిజానికి populating నేను ఏమి కాబట్టి నేను అనుగుణంగా విభాగాలు ప్రదర్శించడం నేను మీకు ఎలా నేను క్లిక్, మరియు తిరిగి, ఆ లీగ్ అసలు పట్టిక వీక్షణ కేవలం ఆ సమాధానం, చాలా చక్కని కనిపిస్తుంది 3 సాధారణ ప్రశ్నలు అలాగే గుర్తించడం మీరు తదుపరి స్క్రీన్ తరలించడానికి ఏమి జరుగుతుంది. ఇక్కడ ఇతర వస్తువులను కేవలం రెండు. మీరు ఇక్కడ ఎగువన గమనించి ఆ కాకుండా # ఉన్నాయి చెప్పడం నేను ఇప్పుడు # దిగుమతి మాట్లాడుతూ నేను. ఇది ఒక ఆబ్జెక్టివ్-C విషయం. దిగుమతి, ప్రధానంగా అనేవి ఒక NICER వెర్షన్ మరియు ఉదాహరణకు, ఈ తరగతి ఉంది ఏమి అవసరం కాబట్టి నేను DivisionsViewController చెప్పలేను. మేము మా. సి ఫైల్ standardio.c లోపల హాష్ ట్యాగ్ లేదు ఉంటే కంపైలర్ printf గురించి తెలియదు. అదేవిధంగా, నేను DivisionsViewController దిగుమతి లేకపోతే కంపైలర్ నిజంగా DivisionsViewController ఉంది ఏమిటో తెలియదు. మీ వేర్వేరు. M ఫైళ్ళ లోపల మీరు దిగుమతి నిర్ధారించుకోండి నిర్ధారించుకోండి సంబంధిత. h ఫైళ్లను కాబట్టి కంపైలర్ ఏమి తెలుసని. చివరిగా, ఏ Apple చివరికి, వెబ్ వీక్షణ ఉపయోగించి కొన్ని డేటా డిస్ప్లే లేదు అందువలన ఒక వెబ్ వీక్షణ మీరు పొందుపరచవచ్చు దీనిలో ఒక వస్తువు మీ అనువర్తనం యొక్క లోపల ఒక చిన్న వెబ్ బ్రౌజర్. మీరు చెయ్యవలసింది అన్ని, మీ వెబ్ బ్రౌజర్ కు URL సరఫరా నేను, mlb.mlb.com కు వెళ్లాలని మీరు అనుకుంటున్నారా మరియు ఈ, నేను ప్రతి జట్టుకు హోమ్ పేజీ ఆక్సెస్ ఎలా ఉంది మరియు ఈ URL లో చేయడము ద్వారా , వెబ్ వీక్షణ నాకు ఈ ప్రదర్శిస్తుంది, మరియు నేను చుట్టూ బ్రౌజ్ చెయ్యవచ్చు మరియు సిమ్యులేటర్ ఒక ఉపయోగంలో ఉంటుంది. ఇప్పుడు ఈ నా plist నుండి వచ్చింది. నేను ఈ క్లిక్ ఉంటే ఈ కూడా నా plist నుండి వచ్చింది, మరియు ఈ స్లైడింగ్ నిర్వహిస్తుంది ఆ జారుకుంటారు నిర్వచించడం ద్వారా. నేను, ఈ క్లిక్ చేసి ఒకటి మరియు ఇప్పుడు ఇక్కడ అలా ఆ వలె నా UIWebView ఉంది ఇక్కడ నేను పొందుపర్చిన ఆ URL కోసం వెబ్సైట్ యొక్క మరియు నేను క్రేజీ ఏదైనా నిర్వహించడానికి లేదు. ఈ వెబ్ పేజీని ప్రదర్శించడానికి ఎలా. ఇక్కడ ఈ బ్యాక్ బటన్ వంటి వాటిని కూడా నాకు ఇవ్వబడ్డాయి పూర్తిగా ఉచితంగా నేను జారుకుంటారు ఉపయోగించి ఈ సంబంధాలు నిర్వచించిన చేసిన ఎందుకంటే. ఏదైనా ప్రశ్నలు? అవును. [స్టూడెంట్] కాబట్టి మీరు alloc ఉపయోగిస్తున్నప్పుడు, మీరు ఉచిత ఏదైనా అవసరం లేదు? సరిగ్గా, మీరు alloc మరియు init కాల్ మీరు ఇది ఉచితం లేదు. IOS మీరు ఆ అన్ని నిర్వహించడానికి అన్నారు. ఇది అద్భుతమైన, మరియు మీరు ఏ నియమాలు బద్దలు లేదు. అవును. మీరు, తెరపై సరిపోతుంది మరింత జట్లు ఉన్నాయి చేసారు [స్టూడెంట్] ఉంటే అది స్వయంచాలకంగా జోడించడానికి ఏదో ఒక స్క్రోలు ఎంపిక, లేదా ఉంది? నేను మరింత జట్లు కలిగి ఉంటే ఖచ్చితంగా, ఉదాహరణకు, అది స్వయంచాలకంగా నిర్వహించడానికి ఉంటుంది నాకు స్క్రోలింగ్, మరియు అన్ని పనితీరు ఆందోళనలు భారీ పట్టిక కూడా నాకు పూర్తిగా నిర్వహిస్తారు. ఇతర ప్రశ్నలు? ఈ కోడ్ యొక్క అన్ని పోస్ట్ అన్నారు. మేము రకమైన, మరింత చిన్న వివరాలు కొద్దిగా ఓవర్ గ్లాస్ద్ కానీ వంటి వాటిని వెబ్ వీక్షణ కొన్ని లక్షణాలను అమర్చే కేవలం మీరు ఆపిల్ యొక్క డాక్యుమెంటేషన్ బ్రౌజింగ్ ద్వారా పొందవచ్చు ఆ విషయాలు, నిజంగా ఇది నిజంగా చక్కగా వేశాడు. వారు ఒక నమూనా Apps యొక్క చాలా మరియు ఉదాహరణ ఉపయోగాలను కలిగి వివిధ API లు, కాబట్టి ఖచ్చితంగా మీకు ఆ పరిశీలనగా. కొన్ని ఉపయోగపడిందా లింకులు మీరు పరిశీలించి అనుకోవచ్చు. ఈ కొన్ని సులభ డాక్యుమెంటేషన్ గైడ్లు ఉంటాయి. URL లు భారీ కారు కాబట్టి, వారు క్లుప్తంగా చేస్తున్నారు. ఈ మొదటి ఒక డాక్యుమెంటేషన్ యొక్క మొత్తం గ్రంథాలయం. చిన్న శోధన బార్లు మీరు టైప్ బటన్ ప్రారంభం అయితే, ఉన్నాయి ఇది మీరు ఒక బటన్ చేయవచ్చు అన్ని విషయాల గురించి మొత్తం సమాచారాన్ని ఇవ్వడం ప్రారంభమౌతుంది. నేను కూడా పట్టిక వీక్షణ ప్రోగ్రామింగ్ గైడ్ చేర్చాను. ఇది చాలా వివరాలు పట్టిక అభిప్రాయాలు నిర్వహిస్తుంది డైనమిక్ కణాలు లేదా మార్చు కణాలు జోడించడానికి లేదా తీసివేయుటకు వాటి వంటి విషయాలను ఎలా. ఎలా చేయాలని మీరు చూపిస్తుంది ఆపిల్ నుండి నమూనా Apps మా ఉన్నది చివరకు, ఈ చివరి, మానవ అంతర్ముఖ మార్గదర్శకాల మరియు ఈ, ప్రధానంగా UI భాగాలు కొన్ని చర్చ వంటి విషయాలను 4 పిక్సెల్స్ 4 పిక్సెళ్ళు అని ఒక బటన్ చేయటం లేదు. ఒక బాడ్ ఐడియా, మరియు ఆపిల్ మీరు వాంట్స్ టు డు ఇతర విషయాలు మంచి డిజైన్ ప్రోత్సహించడానికి. ఏదైనా చివరి ప్రశ్నలు మేము ముగించడానికి ముందు? All right, ఖచ్చితంగా చర్చించండి ప్రత్యేక లేబుల్స్ కొనసాగుతుందని-మేము సంకోచించకండి. మేము ఒక iOS ఒక ఉంటారు, కాబట్టి ఖచ్చితంగా ఆ ఉపయోగించుకుంటాయి సంకోచించకండి. మీరు ప్రాజెక్టులు మీ సహ విద్యార్థులను పని చేయాలనుకుంటే లేదా కొన్ని యాదృచ్ఛిక iOS stuff గుర్తించడానికి సహాయం నాకు ఇమెయిల్ చేయడానికి సంకోచించకండి, మరియు ఖచ్చితంగా అన్ని కోడ్ ఆన్లైన్ ఎందుకంటే పరిశీలనగా ని ఆసక్తితో మేము రకమైన ఎక్కువ గ్లాస్ద్ విషయాలు సూక్ష్మ కణాలతో వివరాలు. కానీ ఒకవేళ, అప్పుడు మంచి మీ iOS ప్రాజెక్టులు లక్, మరియు నేను మా ఆశ App స్టోర్ లో Apps యొక్క ఒక భారీ వలసలు. [CS50.TV]