Front-end time used iOS technology to write a notepad APP, github address.

ios_notepad

1. Project Introduction

The IOS APP written by Swift has added the grouping function in addition to the add, delete, change and check function of regular notepad.

2. Environment Introduction

Language: Swift 5.4

UI framework: UIKit

Package management tool: CocoaPods

Layout framework: SnapKit 5.0.0

Local database management library: grdb.swift

3. Project screenshots

4. Code logic brief description

New database management class, write create database, create grouped data table, add and delete in grouped data table method.

Create a new home page layout file with incoming data and a protocol to pass click events to the caller. The database management class is invoked in the ViewController to initialize the database and tables, and the data manipulation methods in the database management class are invoked when a click event occurs.

The logic of the remaining pages is the same as the previous steps.

5. Technical preparation

  • Swift Basic Syntax

  • Use UIKit

  • SnapKit use

  • CocoaPods use

    sudo gem install cocoapods
    pod init
    pod install
    Copy the code

    There was a problem with the M1 MAC installation

  • Protocol in Swift

  • Closures in Swift

  • CRDB use

6. Summary

The purpose of writing this APP is to consolidate the IOS development knowledge I have learned recently. This APP refers to an outdated IOS book. Although many apis in the book are quite different from today, with the growth of work experience, I have grown into an experienced developer. From the beginning, I used JQuery and Bootstrap to write web pages, then I used Angular, then I got into Flutter, and now I have learned Android and IOS by myself. I have gained my own understanding of some common steps of the development of the other side, such as route management, page layout, and engineering architecture (MVC, MVP, MVVM). This APP exposes the logic part in View layer through protocol, and all the logic is handed over to controller for processing, realizing the layering of page and logic, network request, as well as local storage and local database, which are not generally used by Web but commonly used by clients. Although there may be changes in the specific API of different terminals, the general idea is the same. Relying on this idea and search engine, as well as the habit of reading documents, I still made the APP complete.

It has been two years since I started working officially, and more than three years since I prepared to be a programmer. Since I have been engaged in programming, the most fortunate thing for me is that programming is not a boring job. With the vastness of the computer world, ordinary people only explore the boundary of computer science in a subdivided direction all their lives. I like this job because it keeps my brain working and keeps me thinking. Although their programming is not how fanatical, but in the work and study can still get some fun, this fun has become their motivation to continue learning.

Work changed twice over the past two years, when a job conflict with their own goals, I would have to find a meet your requirements, I found that I hate is stable, when a job has no challenge, become a mechanical repetition, will lose all the enthusiasm and interest, for this job is really a day after losing interest in also don’t want to do, just want to escape as soon as possible. In the interview, HR asked me how stable you think you are. Now I think it is how much my job can stimulate my interest that determines my stability. Considering that I have not made any achievements in my student life for more than 20 years, the more intuitive one is that I failed to enter a good university. Now I think that my interest in various subjects in school is always very short, and after losing interest, I just learn casually. The only thing I was interested in was literature, but I was majoring in science.

Since I have been engaged in this job, I have always felt the separation between ideal and reality, and always felt that it is a pity that work is not connected with the ultimate goal of life. There is no perfect thing in the world, even if I can engage in the ideal job, it is unknown whether I can meet the basic survival needs. When I realized that the proletariat needs to sell its labor force in exchange for survival conditions, I gradually accepted this kind of division. Originally, I always thought I would retire at the age of 30. After gradually understanding the actual situation, I found that labor may be a lifetime thing. Labor is glorious and great, but I kind of don’t like it.

Two years quickly passed, although not perfect, now think of these two years of time I did not waste, although I did not set any goals in two years ago, but I think I am now more satisfied with myself. In fact, the standard of success of a programmer is difficult to measure, salary level? At what level? Skill level? Contribution to the open source community? Contribution to computer science? Everyone has their own different answers, and it is extremely rare to be satisfied with them.

Life is always chasing, especially in career, sometimes on the success of the secular sense of contempt, but most of the time or toward the success of the secular sense, as if in the struggle with who, spelled life to prove themselves, with who? Who do you want to prove yourself to? There may be no answer to these questions, but it is also these questions that give me the motivation to keep moving forward.

Standing at this moment, looking towards the future of life, I can’t see anything in front of me. The only certainty in the future is his uncertainty. However, I still hope that my future work content is to make a real contribution to the society, help the world become better, and make a contribution to the motherland towards communism. Expectations are expectations, and if I don’t have a wonderful opportunity to achieve these goals, THEN I want to be healthy and earn more money. I’m blessed to have a job that doesn’t destroy my health, that allows me to live with dignity, and that allows me to do what I want to do outside of work.

Write in the end

Android and Flutter side projects will not be written, there is no point in mastering three tools for the same thing, the core of software development is still basic and process, refuse to do API Boy.