Code Monkey home page Code Monkey logo

weather-recreation's Introduction

Hi there, I'm Sam ๐Ÿ‘‹

Iโ€™m a software engineer attending UNC Chapel Hill with a passion for app development, music, learning, and education.

Check out my apps on the App Store!




weather-recreation's People

Contributors

samrshi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

weather-recreation's Issues

fix bad safe area on weather view

currently, uihostingcontroller is set to full view width to allow background, consider putting background in VC and observing a NotificationCenter for when the response changes?

Refactor Weather/Location Managers

decouple weather and location managers. make a protocol called LocationDelegate, make the WeatherManager conform to the delegate protocol, and only instantiate the location manager and assign self as delegate if this manager if for the current location

consider rewriting daily weather views in UIKit

each row would be it's own UIViewRepresentable.

pros:

  • precise percentage based layout with autolayout
  • easier to deal with text of different lengths (Wednesday vs. Friday etc)
  • more autolayout practice

cons:

  • potential dynamic type issues? (look into UILabel dynamic type)
  • no longer pure SwiftUI (not the end of the world)

refactor weather manager instantiation

do this by making weather manager with dependency injection. from TabView, create weather views with

WeatherScreen(manager: WeatherManager(location: ))

  • if specific location: argument of manager initializer is a Location strict with lat/lon/city name or nil for current location.

  • if current location: argument of initializer is nil. then in init, only create location manager and assign self as its delegate if location is nil

then, remove all work from onAppear for page view performance

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.