GithubHelp home page GithubHelp logo

spacedrabbit / catpalettes Goto Github PK

View Code? Open in Web Editor NEW
0.0 2.0 0.0 2.39 MB

A terrible, terrible, terrible attempt at sound and fury. signifying nothing.

Home Page: https://dribbble.com/shots/2895893-Small-app-for-making-palettes-and-gradients

License: MIT License

Swift 99.70% Ruby 0.30%

catpalettes's Introduction

CatPalettes


...animation. it looks less broken than the attempt at reloading following the animation block. Further, the table refresh should be obvious following the cell animation since both are executing on the main queue and thus in serial. But now that I think about it, the examples in my mind of apps that have this feature (the tap to expand) all do so in an instataneous manner.

...theme, adds geobackground image, credits added to README. It was at this point I decided to refocus on the actual MVP instead of the nice animations I'd envisioned the app to have. So i removed a bunch of code related to the show/hiding of the floating '+' icon at the bottom of the palettes view controller.

8/24

..., adds comments. As suspected, the type check I was doing wasn't properly determining the value of the nav controller's top VC. I had to modify it so that there was a run time check on the classes via their .dynamicType. Following this, the checks worked properly and I was no longer pushing the same VC onto the navigation stack when returning from the menu. Though, a fortunate side effect of this issue was discovering a (non-block based!) cyclical retain cycle in the pod I was using...

... I noticed that the app's memory footprint increased by ~1MiB each time I pushed the VC containing a color picker view (from SwiftHSVColorPicker). I thought it was odd that Instruments wasn't detecting a leak or retain cycle, considering how perfectly reproducible the issue was. The best I could gather was that each generation I was marking in Instruments was detecting a new ~1MiB allocation from a call to CFData

After looking at the pod, the problem quickly became apparent. It appears that the pod makes an attempt to use a delegate-protocl pattern for informing when a user has selected a new color on the color wheel. However, no actual protocol is defined. Rather, the ColorWheel class has an instance variable var delegate: SwiftHSVColorPicker, and the SwiftHSVColorPicker class in turn has a strong reference back to its ColorWheel.

There is no issue currently tracking this problem, so I have planned to submit a proposed fix shortly for the pod. However, I have already patched the issue in my own project.


Credits:

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.