Мазмуну:

Swiftти колдонуп Xcodeдо кантип эсептегич жасоо керек: 9 кадам
Swiftти колдонуп Xcodeдо кантип эсептегич жасоо керек: 9 кадам

Video: Swiftти колдонуп Xcodeдо кантип эсептегич жасоо керек: 9 кадам

Video: Swiftти колдонуп Xcodeдо кантип эсептегич жасоо керек: 9 кадам
Video: Рефакторинг: switch vs if-else vs enum vs HashMap [Шаблон "Команда"] 2024, Июнь
Anonim
Image
Image

Бул тез үйрөткүчтө мен сизге Xcodeдогу Swiftти колдонуп жөнөкөй эсептегичти кантип түзүүнү көрсөтөм. Бул колдонмо iOS үчүн түпнуска эсептегич колдонмосуна дээрлик окшош болуп курулган. Сиз же этап-этабы менен көрсөтмөлөрдү аткарып, мен менен эсептегичти түзө аласыз, же жөн эле акыркы баскычка өтүп, кодду көрүнүш контроллерине көчүрүп чаптап койсоңуз болот. Бирок, эгер сиз муну кыла турган болсоңуз, сюжет тактасындагы бардык элементтериңизди контролеруңузга туташтырыңыз.

1 -кадам: Долбоорду түзүү

Storyboard Layout
Storyboard Layout

Биздин калькуляторду түзүүнүн биринчи кадамы - бул долбоорду Xcodeдо түзүү. Сиз муну "Жаңы Xcode долбоорун түзүү" чыкылдатып, каалаган нерсеңизди атоо менен жасай аласыз. Мен өзүмө "Калькулятор" деп ат койгом. Кийинки кадам - бул колдонмонун түрү үчүн "Single View Application" тандоо. Башка маалыматтардын бардыгын демейки мааниси катары сактаңыз.

2 -кадам: Storyboard Layout

Биздин калькуляторду түзүүнүн 2 -кадамы сюжет тактасында негизги макетти иштеп чыгууну талап кылат. Муну баштоодон мурун, симуляторуңузду iPhone 7 Plusке алмаштырууну сунуштайм. Сценарийдин үстүндөгү баскычты сүйрөп, анын өлчөмдөрүн 89 x 89 кылып өзгөртүү менен баштаңыз. Анын фонунун түсүн сымапка текшерүүчү атрибуттарга, ал эми шрифтин түсүн вольфрамга өзгөртүңүз. Андан кийин, шрифтти Helvetica Light 30га тууралаңыз. Баскычты 20га чейин көчүрүп, чаптоону улантыңыз. Бул баскычтардын жайгашуусун тууралаңыз, сизде беш катар жана төрт мамыча бар.

3 -кадам: Storyboard Дизайн жана Эстетика

Storyboard Дизайн жана Эстетика
Storyboard Дизайн жана Эстетика

Төмөнкү саптагы экинчи баскычты жок кылыңыз жана бул боштукту ээлөө үчүн биринчи баскычты жайыңыз. Бул баскычтын толтуруучу маанисин нөлгө өзгөртүңүз. Ар бир баскычтын сандарынын маанилерин жана символдорун жогоруда көрсөтүлгөн сүрөттө иш жүзүндө окшош болгонго чейин өзгөртүүнү улантыңыз. Атрибуттардын инспекторунда кочкул боз түс күмүш, кызгылт сары түс мандарин, шрифт түсү кызгылт сары баскычтарда карга алмаштырылган. Андан кийин, көрүү контроллерин чыкылдатып, анын өңүн кара кылып өзгөртүңүз. Баскычтардын үстүнө этикетка кошуп, өлчөмүн тууралаңыз, бирок өзүңүздү ыңгайлуу сезиңиз. Текстти оңго тууралаңыз жана энбелгинин шрифтин Helvetica light 70ке өзгөртүңүз. Кааласаңыз, колдонмону бардык түзмөктөр үчүн бирдей кылуу үчүн бардык элементтерге чектөөлөрдү кошсоңуз болот.

4 -кадам: Элементтерди туташтыруу жана бириктирүү

Элементтерди туташтыруу жана бириктирүү
Элементтерди туташтыруу жана бириктирүү
Элементтерди туташтыруу жана бириктирүү
Элементтерди туташтыруу жана бириктирүү

Атрибуттар инспекторун ачыңыз жана ар бир сан баскычынын тегин өзгөртүңүз. Белги чыныгы сандык мааниден 1 көп болушу керек. Мисалы, #0 баскычынын тегинин мааниси 1, #1 баскычынын тегинин мааниси 2, #2 баскычынын тегинин мааниси 3 болушу керек ж.б. Андан кийин, көзөмөлдү басыңыз, #0 баскычын чыкылдатыңыз жана аны көрүү контроллерине сүйрөңүз. Экранда калкыма терезе пайда болушу керек. Байланышты 'аракетке', түрүн 'UIButton', окуяны 'Touch Up Inside', аргументтерди 'жөнөтүүчүгө' жана анын атын 'сандарга' өзгөртүңүз. Сиз атын каалаган нерсеге өзгөртө аласыз, бирок бул кийинчерээк программада функцияны чакырууда атын кайра өзгөртүүгө туура келет дегенди билдирет. Андан кийин, көзөмөлдөп, чыкылдатып, ар бир сан баскычын биз жаңы түзгөн функцияга сүйрөңүз. Эми көзөмөлдөңүз, чыкылдатыңыз жана этикетканы программага сүйрөңүз, бирок функцияга ЭМЕС. Бул сиз энбелгини функцияга өзүнчө өзгөрмө катары алып келишиңизди билдирет. Эсиңизде болсун, эгер сиз качандыр бир убакта кодду түшүнбөй жатсаңыз, мен бул коддун акыркы баскычында колдонуу үчүн бардык кодумду калтырдым.

5 -кадам: Өзгөрмөлөрдү түзүү

Variables түзүү
Variables түзүү

Сандык баскычтарыбызды функционалдуу кылуу үчүн, алардын маанисин "сандар" функциябыздагы энбелгиге туташтырууга туура келет. Сиз муну адегенде 'numberOnScreen' өзгөрмөсүн түзүп, аны эки эсе жана 0го барабар кыла аласыз: var numberOnScreen: Double = 0; Эсиңизден чыгарбаңыз, эгер бул жердеги код бир аз түшүнүксүз болсо, мен сизге каалооңуз үчүн колдонуу үчүн акыркы кадамда толук кодун калтырдым. Андан кийин, bool тибиндеги дагы бир 'PerformingMath' өзгөрмөсүн орнотуп, аны жалган кылыңыз: var PerformanceMath = false; Ошондой эле, double түрүндөгү 'previousNumber' деп аталган дагы бир өзгөрмөнү түзүңүз жана аны 0го барабар кылыңыз: var previousNumber: Double = 0; Сиз түзүшүңүз керек болгон акыркы өзгөрмө "операция" өзгөрмөсү. Аны 0го барабар кыл: var operation = 0;

6 -кадам: Сан баскычтарынын функциясы

Сан баскычтары Функциясы
Сан баскычтары Функциясы

Тиешелүү өзгөрмөлөрдү түзгөндөн кийин, бул кодду "сандар" функциясына көчүрүп, чаптоону улантыңыз:

if performMath == true {

label.text = Сап (sender.tag-1)

numberOnScreen = Double (label.text!)!

performMath = false

}

башка {

label.text = label.text! + Сап (sender.tag-1)

numberOnScreen = Double (label.text!)!

}

Негизинен, коддун бул бөлүгү тиешелүү баскыч басылганда этикеткада белгилүү бир сандарды көрсөтөт. Бирок, биз дагы башка бардык баскычтарды колдонуп, эсептегичти функционалдуу кыла алышыбыз керек. Биз муну кийинки эки кадамда жасайбыз.

7 -кадам: Операция баскычтарын интеграциялоо

Интегралдык операция баскычтары
Интегралдык операция баскычтары
Интегралдык операция баскычтары
Интегралдык операция баскычтары

Атрибуттар инспекторун ачып, бардык баскычтардын тегин өзгөртүңүз. Таза баскычта 11, бөлүнүү баскычында 12, көбөйтүү баскычында 13, алып салуу баскычында 14, кошуу баскычында 15, жана барабар баскычта 16 деген теги болушу керек. Андан кийин контролду басып, тазалоо баскычын чыкылдатып, аны көрүү контроллерине сүйрөңүз. Экранда калкыма терезе пайда болушу керек. Байланышты 'аракетке', түрүн 'UIButton', окуяны 'Touch Up Inside', аргументтерди 'жөнөтүүчүгө' жана анын атын 'баскычтарга' өзгөртүңүз. Сиз атын каалаган нерсеге өзгөртө аласыз, бирок бул кийинчерээк программада функцияны чакырууда атын кайра өзгөртүүгө туура келет дегенди билдирет. Андан кийин, көзөмөлдөңүз, чыкылдатыңыз жана ар бир башка баскычты биз жаңы түзгөн функцияга сүйрөңүз.

8 -кадам: Ар кандай баскычтардын функциясы

Ар кандай баскычтардын функциясы
Ар кандай баскычтардын функциясы

Бардык белгиленген түрдүү баскычтарды тиешелүү функциясына туташтыргандан кийин, кодду 'баскычтар' функциясына киргизе баштасаңыз болот:

previousNumber = Double (label.text!)!

if sender.tag == 12 {// Бөлүү

label.text = "/";

}

if sender.tag == 13 {// Көбөйтүү

label.text = "x";

}

if sender.tag == 14 {// Чыгар

label.text = "-";

}

if sender.tag == 15 {// Кошуу

label.text = "+";

}

операция = sender.tag

performMath = true;

}

башка болсо sender.tag == 16 {

эгерде операция == 12 {// Бөлүү

label.text = String (мурункуNumber / numberOnScreen)

}

else if амал == 13 {// көбөйтүү

label.text = String (мурункуNumber * numberOnScreen)

}

else if амал == 14 {// Чыгар

label.text = String (previousNumber - numberOnScreen)

}

else if == 15 {// Add

label.text = String (мурункуNumber + numberOnScreen)

}

}

башка болсо sender.tag == 11 {

label.text = ""

previousNumber = 0;

numberOnScreen = 0;

операция = 0;

}

Негизинен, бул код басылганда ар кандай баскычтардын бирин көрсөтөт жана акыркы жоопту эсептөө үчүн уланып, аны этикеткада көрсөтөт.

9 -кадам: Толук код

Толук код
Толук код

Эгерде сиз мен аркылуу кадам сайын калькуляторду курууну каалабасаңыз, анда сиз жөн гана элементтериңизди тактаңызга кошуп, толук кодду көрүнүш контроллерине көчүрүп чаптап койсоңуз болот. Бул жерде код:

UIKit импорттоо

класс ViewController: UIViewController {

var numberOnScreen: Double = 0;

var previousNumber: Double = 0;

var PerformanceMath = false;

var operation = 0;

@IBAction func сандары (_ жөнөтүүчү: UIButton) {

if performMath == true {

label.text = Сап (sender.tag-1)

numberOnScreen = Double (label.text!)!

performMath = false

}

башка {

label.text = label.text! + Сап (sender.tag-1)

numberOnScreen = Double (label.text!)!

}

}

@IBOutlet алсыз бар этикеткасы: UILabel!

@IBAction func баскычтары (_ жөнөтүүчү: UIButton) {

if label.text! = "" && sender.tag! = 11 && sender.tag! = 16 {

previousNumber = Double (label.text!)!

if sender.tag == 12 {// Бөлүү

label.text = "/";

}

if sender.tag == 13 {// Көбөйтүү

label.text = "x";

}

if sender.tag == 14 {// Чыгар

label.text = "-";

}

if sender.tag == 15 {// Кошуу

label.text = "+";

}

операция = sender.tag

performMath = true;

}

башка болсо sender.tag == 16 {

эгерде операция == 12 {// Бөлүү

label.text = String (мурункуNumber / numberOnScreen)

}

else if амал == 13 {// көбөйтүү

label.text = String (мурункуNumber * numberOnScreen)

}

else if амал == 14 {// Чыгар

label.text = String (previousNumber - numberOnScreen)

}

else if == 15 {// Add

label.text = String (мурункуNumber + numberOnScreen)

}

}

башка болсо sender.tag == 11 {

label.text = ""

previousNumber = 0;

numberOnScreen = 0;

операция = 0;

}

}

func viewDidLoad () {жокко чыгаруу

super.viewDidLoad ()

// Көрүнүш жүктөлгөндөн кийин кошумча орнотууну жасаңыз, адатта учу.

}

func didReceiveMemoryWarning () {

super.didReceiveMemoryWarning ()

// Кайра жаратууга мүмкүн болгон бардык ресурстарды жок кылыңыз.

}

}

Сунушталууда: