iOS UItableView는 Swift 4.0에서 100% 프로그래밍 방식으로 작동
이 과정에서 사용자 정의 UItable ViewCell을 처음부터 프로그래밍하는 방법을 보여 드리겠습니다.
Xcode에서 프로그래밍 UI를 구축하는 데 익숙하지 않다면 article 프로그래밍 방식으로 간단한 로그인 화면을 만드는 방법을 보십시오.
이 안내서의 마지막 부분에서 간단한 연락처 프로그램을 구축할 수 있습니다. 아래 그림과 같습니다.
재미있게 들려요!우리 시작합시다!🚀
1단계: Create a New Xcode Project
2단계: Get Rid of Storyboard
3단계: Set Root View Controller to the Window Object
4단계: Create Data Model Struct and Class Files - MVC
5단계: Add UITableView to the ContactViewController
6단계: Add AutoLayout Constraints to the UITableView
7단계: Implement UITableView DataSource Protocol Methods
8단계: Add UINavigationController to the View Controller
9단계: Create Custom UITableViewCell Programmatically
10단계: Implement UITableViewDelegate Protocol Method
1단계: 새 Xcode 항목 만들기
Xcode를 열고 File을 선택하여 프로젝트를 만듭니다.→ 새로 만들다→ 프로젝트그리고 보기 프로그램을 선택해서contactsapp라고 명명하고 모든 다른 설정을 변하지 않게 합니다.
프로젝트를 창설한 후 here에서 자산 파일을 다운로드하고 압축을 풀고 자산으로 드래그합니다.Xcassets 파일입니다.
100% 프로그래밍 방식으로 이 프로그램을 구축할 것입니다, Main.이 항목은 스토리보드가 필요 없습니다.
If you want to keep the Main.Storyboard, that’s okay, you can still follow along. In that case, you can skip the next two sections and jump right into STEP #4: Create Data Model Struct and Class Files - MVC.
그렇지 않으면 계속 읽으세요.
✅ Recommended
iOS 13 & Swift 5 – iOS App Development Bootcamp
두 번째 단계: 줄거리 개요에서 벗어나다
Main을 삭제합니다.스토리보드.
항목 폴더의 맨 위로 이동하여 참조를 삭제할 수도 있습니다.→ 일반 탭→ 배포 정보→ 메인 인터페이스와 메인 텍스트를 지웁니다.
ViewController를 삭제합니다.그리고 swift 파일.
이 단계에서 Xcode는 입구점이 없습니다. 이것은 항목이 가리키는 루트 보기 컨트롤러가 없다는 것을 의미합니다. 프로그램을 실행할 때 플래시 화면 뒤에 먼저 나타납니다.
Recommended
단계 #3: 루트 뷰 컨트롤러를 창 객체로 설정
Xcode에서 파일로 이동→ 새것→ cocooutouch 클래스→ ContactsViewController의 이름을 지정하고 UIViewController의 하위 클래스로 만듭니다.
Note: This class could be a subclass of UITableViewController instead of UIViewController that will hook everything to the TableView for us. However, doing it manually will help you to understand the steps involved in the same process.
AppDelegate로 이동합니다.빠른 파일→ didFinishLaunchingWithOptions() 방법입니다.
UIWindow() 구조 함수를 사용하여 창 객체를 만들고 UIScreen을 사용하여 장치의 화면 크기로 설정합니다.매인.경계
window = UIWindow(frame:UIScreen.main.bounds)
창 객체를 만든 후 makeKeyAndVisible() 방법을 호출하여 표시합니다.window?.makeKeyAndVisible()
마지막으로 ContactsViewController를 루트 컨트롤러로 지정합니다. window?.rootViewController = ContactsViewController()
Xcode는 루트 뷰 컨트롤러를 수동으로 추가할 때 기본적으로 배경색을 검은색으로 설정합니다.우리는 그것을 좀 고쳤다. 이렇게 하면 그것이 정상적으로 일할 수 있을 것이다.ContactsViewController로 이동합니다.빠른 파일→ ViewDidLoad() 방법
view.backgroundColor = .red
MVC[Model View Controller] 모드에서 연락처 애플리케이션의 파일을 구성합니다.
4단계: 데이터 모델 구조와 클래스 파일 만들기
응용 프로그램 모델의 일부로 두 개의 파일을 만들 것입니다. 연락처입니다.스위프트 및 연락처 API스웨프트.
계속해서 연락처를 만듭니다.swift 파일과 swift 파일 옵션을 선택하십시오. UI와 독립된 클래스이기 때문입니다.
이 파일에는 다음 최종 테이블 뷰 셀 이미지에 따라 속성이 포함된 간단한 Contact 구조가 포함되어 있습니다.
struct Contact {
let name:String?
let jobTitle:String?
let country:String?
}
Note: Make all the properties optional so that you can safely unwrap them using if let when they are nil rather than using the force unwrapping operator (!).
이제 두 번째 파일, 즉 Contact API를 생성합니다.스웨프트.
현실 세계의 응용 프로그램에서 모든 API 호출 코드가 그곳에 나타날 것이다.간단하게 보기 위해서, 나는 가상 데이터를 추가할 것이다. 그러면 HTTP 요청을 할 필요가 없다. 왜냐하면 이것은 우리의 주제 범위를 넘어섰기 때문이다.
Contact API 클래스에 getContacts () 라는 정적 방법을 만듭니다. 이 방법은 모든 연락처 데이터를 가져오는 것을 책임집니다.
class ContactAPI {
static func getContacts() -> [Contact]{
let contacts = [
Contact(name: "Kelly Goodwin", jobTitle: "Designer", country: "bo"),
Contact(name: "Mohammad Hussain", jobTitle: "SEO Specialist", country: "be"),
Contact(name: "John Young", jobTitle: "Interactive Designer", country: "af"),
Contact(name: "Tamilarasi Mohan", jobTitle: "Architect", country: "al"),
Contact(name: "Kim Yu", jobTitle: "Economist", country: "br"),
Contact(name: "Derek Fowler", jobTitle: "Web Strategist", country: "ar"),
Contact(name: "Shreya Nithin", jobTitle: "Product Designer", country: "az"),
Contact(name: "Emily Adams", jobTitle: "Editor", country: "bo"),
Contact(name: "Aabidah Amal", jobTitle: "Creative Director", country: "au")
]
return contacts
}
}
위 코드에서 보듯이, 나는 연락처라는 그룹을 만들고, 데이터가 있는 연락처 대상을 몇 개 추가하여 되돌려주었다.다음 연락처 () 방법은 연락처 ()의 속성을 호출해서 연락처를 만들 것입니다.
private let contacts = ContactAPI.getContacts() // model
Note: As you can see, I use static keyword in front of the getContacts() methods when declaring it so that I do not have to instantiate ContactAPI class to invoke getContacts() method.
아주 단도직입적이야!
✅ Recommended
The Complete iOS 11 & Swift Developer Course – Build 20 Apps
5단계: ContactsView 디렉터에 UItableView 추가
contacts ViewController로 이동합니다.스웨프트→ UItableView() 구조 함수를 인스턴스화하여 테이블 뷰 객체에 할당할 ContactStable Viewer라는 속성을 작성합니다.
Continue Reading...
Reference
이 문제에 관하여(iOS UItableView는 Swift 4.0에서 100% 프로그래밍 방식으로 작동), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/hirajatamil/ios-uitableview-100-programmatically-in-swift-4-0-3f9g텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)