객체 지향은 iPhone 앱 개발로 어떻게 도움이 되는가?
소개
요 전날,
BASIC에서 온 절차형 아저씨가 「절차형」 「함수형」 「객체 지향」에 대해 생각한다.
라는 제목으로 게시했습니다.
이 중,
swift로 iPhone 앱을 개발할 때는 객체 지향을 특별히 의식하지 않아도 마음껏 객체 지향의 혜택을 받고 있습니다.
라고 말했습니다.
이 글에서는 내가 실제로 App Store에 게시하는 앱에 대해 설명합니다.
간경변중증도 Child 분류
이것은 소화기 내과·외과의용의 앱*로 간경변중증도 Child 분류를 간단하게 산출할 수 있습니다.
2010년에 공개한 이래, 4만명 이상의 분들에게 다운로드해 주셨습니다.
총 빌리루빈이나 알부민 등의 값을 선택하면 Child 분류와 점수가 표시됩니다.
다음은 스크린샷과 소스 코드입니다.
import UIKit
class ViewController: UIViewController {
@IBOutlet var bilirubin:UISegmentedControl!
@IBOutlet var albumin:UISegmentedControl!
@IBOutlet var pt:UISegmentedControl!
@IBOutlet var fukusui:UISegmentedControl!
@IBOutlet var nosho:UISegmentedControl!
@IBOutlet var childIndex:UILabel!
override func viewDidLoad() {
super.viewDidLoad()
}
@IBAction func selectorChanged(){
let b = bilirubin.selectedSegmentIndex + 1
let a = albumin.selectedSegmentIndex + 1
let p = pt.selectedSegmentIndex + 1
let f = fukusui.selectedSegmentIndex + 1
let n = nosho.selectedSegmentIndex + 1
let childPoint = b + a + p + f + n
var childGrade = "A"
switch childPoint {
case 5 ... 6:
childGrade = "A"
case 7 ... 9:
childGrade = "B"
case 10 ... 15:
childGrade = "C"
default:
break
}
childIndex.text = "Child \(childGrade) \(childPoint)点"
}
}
불과 30행 부족의 코드입니다.
bilirubin, albumin, pt, fukusui, nosho 등은 UISegmentedControl 클래스의 인스턴스이고 childIndex는 UILabel 클래스의 인스턴스입니다.
우리 개발자는 UISegmentedControl 클래스나 UILabel 클래스의 내부 로직을 몰라도 사용할 수 있고(숨김), UISegmentedControl 클래스나 UILabel 클래스의 내부를 재기록하지 않습니다(캡슐화).
결론
클래스화된 UI 부품(오브젝트)을 조합하는 것으로, 저와 같은 아마 프로그래머에서도 iPhone 앱을 만들 수 있는 것은 오브젝트 지향의 혜택이라고 생각합니다.
* 의사를위한 응용 프로그램입니다.
간경변중증도 Child 분류·소화기암 진행도 분류
Reference
이 문제에 관하여(객체 지향은 iPhone 앱 개발로 어떻게 도움이 되는가?), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/BMJr/items/b39f186c9d8232ffac1f텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)