Skip to content

Instantly share code, notes, and snippets.

@atg
Created September 23, 2010 01:31
Show Gist options
  • Save atg/592908 to your computer and use it in GitHub Desktop.
Save atg/592908 to your computer and use it in GitHub Desktop.
def initWithFrame(frame)
if super then
self.pointSize = 30.0
self.cols, self.rows = 10, 10
self.shit = 3
end
self
end
class << self
def persisted_accessor(name, &setter_handler)
key = self.class.name + "-" + name.to_s
define_method(name.to_s + "=") do |newVal|
NSUserDefaults.standardUserDefaults.setObject(newVal, forKey: key)
self.instance_exec &setter_handler if setter_handler
end
define_method(name) do
NSUserDefaults.standardUserDefaults.objectForKey(key)
end
end
end
persisted_accessor(:shit) do
puts 'called!'
puts "self = #{self.shit}"
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment