Description
One of the things we do a lot of in Objective-C is outlet and variable declaration, synthesize and dealloc. Since this is a repeatable recurring event I thought I would add a little automation to the process.
Instructions
Install the gem.
I have only been able to get this working in Xcode by installing the gem in system ruby.
sudo gem install property_synthesize_dealloc
sudo gem install rb-appscript
Make a user script in Xcode with the following:
#!/usr/bin/ruby
require 'rubygems'
require "property_synthesize_dealloc"
property = PropertySynthesizeDealloc.new
property.file_path = '%%%{PBXFilePath}%%%'
property.selection = STDIN.read
property.psd!
Then select the ivars you wish to make property, synthesize and dealloc declarations and execute the user script above.
Overriding defaults
You can provide an optional parameter to a custom config.yml file.
Just add the path as a parameter to PropertySynthesizeDealloc.new.
PropertySynthesizeDealloc.new("/path/to/custom/config.yml")
Here is the skeleton. Make sure to use this as a starting point.
These are currently the only options supported.
settings:
sleep_time: 0.1
xcode_app_path: '/Developer/Applications/Xcode.app'
use_nonatomic: true
position_prop_after_closing_bracket: false
outlet: true
types:
copy: ['NSString', 'NSMutableString', 'NSArray', 'NSNumber']
assign: ['int', 'integer', 'BOOL', 'float', 'NSUInteger', 'NSInteger',
'double', 'uint8_t', 'uint16_t', 'uint32_t', 'int8_t', 'int16_t',
'int32_t', 'int64_t', 'uint64_t', 'GLuint', 'GLushort', 'GLubyte',
'GLfloat', 'size_t', 'GLenum']
retain: []
Copyright
Copyright (c) 2011 Craig Williams. See LICENSE.txt for further details.