Class: ObjCProperty
- Inherits:
-
Object
- Object
- ObjCProperty
- Defined in:
- lib/ios_generate_settings/ObjCProperty.rb
Instance Attribute Summary collapse
-
#atomicity ⇒ Object
atomic, nonatomic, :default => nonatomic.
-
#name ⇒ Object
accessor, like ‘login’, ‘password’.
-
#setter_semantic ⇒ Object
assign, copy, retain, :default => retain.
-
#type ⇒ Object
NSString, NSNumber, etc.
-
#writeability ⇒ Object
readonly, readwrite, :default => readwrite.
Instance Method Summary collapse
- #declaration ⇒ Object
- #implementation ⇒ Object
-
#initialize(type, name, writeability = :readwrite, setter_semantic = :retain, atomicity = :nonatomic) ⇒ ObjCProperty
constructor
A new instance of ObjCProperty.
-
#loading ⇒ Object
NSUserDefaults *defaults = [NSUserDefaults stndardUserdefaults];.
- #print ⇒ Object
- #release ⇒ Object
- #string_const ⇒ Object
Constructor Details
#initialize(type, name, writeability = :readwrite, setter_semantic = :retain, atomicity = :nonatomic) ⇒ ObjCProperty
Returns a new instance of ObjCProperty.
8 9 10 11 12 13 14 |
# File 'lib/ios_generate_settings/ObjCProperty.rb', line 8 def initialize(type, name, writeability = :readwrite, setter_semantic = :retain, atomicity = :nonatomic) self.type = type self.name = name self.setter_semantic = setter_semantic self.writeability = writeability self.atomicity = atomicity end |
Instance Attribute Details
#atomicity ⇒ Object
atomic, nonatomic, :default => nonatomic
6 7 8 |
# File 'lib/ios_generate_settings/ObjCProperty.rb', line 6 def atomicity @atomicity end |
#name ⇒ Object
accessor, like ‘login’, ‘password’
3 4 5 |
# File 'lib/ios_generate_settings/ObjCProperty.rb', line 3 def name @name end |
#setter_semantic ⇒ Object
assign, copy, retain, :default => retain
5 6 7 |
# File 'lib/ios_generate_settings/ObjCProperty.rb', line 5 def setter_semantic @setter_semantic end |
#type ⇒ Object
NSString, NSNumber, etc.
2 3 4 |
# File 'lib/ios_generate_settings/ObjCProperty.rb', line 2 def type @type end |
#writeability ⇒ Object
readonly, readwrite, :default => readwrite
4 5 6 |
# File 'lib/ios_generate_settings/ObjCProperty.rb', line 4 def writeability @writeability end |
Instance Method Details
#declaration ⇒ Object
22 23 24 |
# File 'lib/ios_generate_settings/ObjCProperty.rb', line 22 def declaration "@property (#{atomicity}, #{setter_semantic}, #{writeability}) #{type} *#{name};" end |
#implementation ⇒ Object
25 26 27 |
# File 'lib/ios_generate_settings/ObjCProperty.rb', line 25 def implementation "@synthesize #{name};" end |
#loading ⇒ Object
NSUserDefaults *defaults = [NSUserDefaults stndardUserdefaults];
32 33 34 |
# File 'lib/ios_generate_settings/ObjCProperty.rb', line 32 def loading "self.#{name} = [defaults valueForKey:k#{name.capitalize}];" end |
#print ⇒ Object
16 17 18 19 20 |
# File 'lib/ios_generate_settings/ObjCProperty.rb', line 16 def print puts "static NSString *const k#{name.capitalize} = @\"#{name}\";" puts "@property (#{atomicity}, #{setter_semantic}, #{writeability}) #{type} *#{name};" puts "@synthesize #{name};" end |
#release ⇒ Object
35 36 37 38 39 40 41 |
# File 'lib/ios_generate_settings/ObjCProperty.rb', line 35 def release if setter_semantic.to_s == "assign" "" else "self.#{name} = nil;" end end |
#string_const ⇒ Object
28 29 30 |
# File 'lib/ios_generate_settings/ObjCProperty.rb', line 28 def string_const "static NSString *const k#{name.capitalize} = @\"#{name}\";" end |