Skip to content

Commit a8c8295

Browse files
committed
updated preferences to cache defaults
1 parent f04e43b commit a8c8295

File tree

9 files changed

+61
-9
lines changed

9 files changed

+61
-9
lines changed

examples/myapp/Group.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
// Group.h
33
// MyApp
44
//
5-
// Generated by Ian Terrell on 03/22/2009.
5+
// Generated by Ian Terrell on 04/12/2009.
66
// Copyright 2009 Ian Terrell. All rights reserved.
77
//
88

@@ -23,4 +23,6 @@
2323

2424
+(NSString *)helloWorld;
2525

26+
+(void)deleteAll;
27+
2628
@end

examples/myapp/Group.m

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,12 @@
22
// Group.m
33
// MyApp
44
//
5-
// Generated by Ian Terrell on 03/22/2009.
5+
// Generated by Ian Terrell on 04/12/2009.
66
// Copyright 2009 Ian Terrell. All rights reserved.
77
//
88

99
#import "Group.h"
10+
#import "SQLiteInstanceManager.h"
1011

1112
@implementation Group
1213

@@ -23,6 +24,15 @@ +(NSString *)helloWorld {
2324

2425
}
2526

27+
+(void)deleteAll {
28+
NSString *sql = [NSString stringWithFormat:@"DELETE FROM %@;", [Group tableName]];
29+
NSLog([NSString stringWithFormat:@"Executing SQL: DELETE FROM %@;", [Group tableName]]);
30+
SQLiteInstanceManager *manager = [SQLiteInstanceManager sharedManager];
31+
[manager executeUpdateSQL:sql];
32+
[manager vacuum];
33+
[Group clearCache];
34+
}
35+
2636
- (void)dealloc
2737
{
2838
[title release];

examples/myapp/Preferences.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
// Preferences.h
33
// MyApp
44
//
5-
// Generated by Ian Terrell on 03/22/2009
5+
// Generated by Ian Terrell on 04/12/2009
66
// Copyright 2009 Ian Terrell. All rights reserved.
77
//
88

examples/myapp/Preferences.m

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,17 @@
22
// Preferences.m
33
// MyApp
44
//
5-
// Generated by Ian Terrell on 03/22/2009
5+
// Generated by Ian Terrell on 04/12/2009
66
// Copyright 2009 Ian Terrell. All rights reserved.
77
//
88

99
#import "Preferences.h"
1010

1111
@implementation Preferences
1212

13+
NSString * _username;
14+
NSString * _password;
15+
1316
+(BOOL)preferencesSet {
1417
return !(
1518
(([Preferences username] == nil) || ([[Preferences username] isEqualToString:@""])) ||
@@ -19,14 +22,20 @@ +(BOOL)preferencesSet {
1922

2023
+(void)setUsername:(NSString *)username andPassword:(NSString *)password {
2124
[[NSUserDefaults standardUserDefaults] setObject:username forKey:@"username"];
25+
_username = username;
2226
[[NSUserDefaults standardUserDefaults] setObject:password forKey:@"password"];
27+
_password = password;
2328
}
2429

2530
+(NSString *)username {
26-
return [[NSUserDefaults standardUserDefaults] stringForKey:@"username"];
31+
if (_username == nil)
32+
_username = [[NSUserDefaults standardUserDefaults] stringForKey:@"username"];
33+
return _username;
2734
}
2835
+(NSString *)password {
29-
return [[NSUserDefaults standardUserDefaults] stringForKey:@"password"];
36+
if (_password == nil)
37+
_password = [[NSUserDefaults standardUserDefaults] stringForKey:@"password"];
38+
return _password;
3039
}
3140

3241
+(NSString *)helloWorld {

examples/myapp/User.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
// User.h
33
// MyApp
44
//
5-
// Generated by Ian Terrell on 03/22/2009.
5+
// Generated by Ian Terrell on 04/12/2009.
66
// Copyright 2009 Ian Terrell. All rights reserved.
77
//
88

@@ -31,4 +31,6 @@ typedef enum {
3131
@property (nonatomic,readwrite,retain) Group *anotherGroup;
3232

3333

34+
+(void)deleteAll;
35+
3436
@end

examples/myapp/User.m

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,12 @@
22
// User.m
33
// MyApp
44
//
5-
// Generated by Ian Terrell on 03/22/2009.
5+
// Generated by Ian Terrell on 04/12/2009.
66
// Copyright 2009 Ian Terrell. All rights reserved.
77
//
88

99
#import "User.h"
10+
#import "SQLiteInstanceManager.h"
1011

1112
@implementation User
1213

@@ -21,6 +22,15 @@ @implementation User
2122
)
2223

2324

25+
+(void)deleteAll {
26+
NSString *sql = [NSString stringWithFormat:@"DELETE FROM %@;", [User tableName]];
27+
NSLog([NSString stringWithFormat:@"Executing SQL: DELETE FROM %@;", [User tableName]]);
28+
SQLiteInstanceManager *manager = [SQLiteInstanceManager sharedManager];
29+
[manager executeUpdateSQL:sql];
30+
[manager vacuum];
31+
[User clearCache];
32+
}
33+
2434
- (void)dealloc
2535
{
2636
[username release];

preferences-templates/Preferences.m

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,10 @@
1010

1111
@implementation Preferences
1212

13+
<% object.fields.each do |field| -%>
14+
<%= field[:type] %> _<%= field[:name] %>;
15+
<% end -%>
16+
1317
+(BOOL)preferencesSet {
1418
return !(
1519
<%= object.fields.map{|field|object.is_set?(field)}.join(" || \n ") %>
@@ -20,13 +24,16 @@ +(BOOL)preferencesSet {
2024
+(void)<%= object.bulk_setter_name_for(setter) %> {
2125
<% setter.each do |field| -%>
2226
[[NSUserDefaults standardUserDefaults] <%= object.setter_for_key(field[:type])%>:<%= field[:name] %> forKey:@"<%= field[:name]%>"];
27+
_<%= field[:name] %> = <%= field[:name] %>;
2328
<% end -%>
2429
}
2530
<% end -%>
2631

2732
<% object.fields.each do |field| -%>
2833
+(<%= field[:type] %>)<%= field[:name] %> {
29-
return [[NSUserDefaults standardUserDefaults] <%= object.type_for_key(field[:symbol_type])%>:@"<%= field[:name] %>"];
34+
if (_<%= field[:name] %> == nil)
35+
_<%= field[:name] %> = [[NSUserDefaults standardUserDefaults] <%= object.type_for_key(field[:symbol_type])%>:@"<%= field[:name] %>"];
36+
return _<%= field[:name] %>;
3037
}
3138
<% end -%>
3239

sqlitepo-templates/object.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,4 +35,6 @@ typedef enum {
3535
<%= method[:signature] %>;
3636
<% end -%>
3737

38+
+(void)deleteAll;
39+
3840
@end

sqlitepo-templates/object.m

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
//
88

99
#import "<%= object.name %>.h"
10+
#import "SQLiteInstanceManager.h"
1011

1112
@implementation <%= object.name %>
1213

@@ -24,6 +25,15 @@ @implementation <%= object.name %>
2425
}
2526
<% end -%>
2627

28+
+(void)deleteAll {
29+
NSString *sql = [NSString stringWithFormat:@"DELETE FROM %@;", [<%= object.name %> tableName]];
30+
NSLog([NSString stringWithFormat:@"Executing SQL: DELETE FROM %@;", [<%= object.name %> tableName]]);
31+
SQLiteInstanceManager *manager = [SQLiteInstanceManager sharedManager];
32+
[manager executeUpdateSQL:sql];
33+
[manager vacuum];
34+
[<%= object.name %> clearCache];
35+
}
36+
2737
- (void)dealloc
2838
{
2939
<% object.fields.select{|field|field[:type].ends_with?("*")}.each do |field| -%>

0 commit comments

Comments
 (0)