appjam 0.1.0.pre11 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README.rdoc +22 -2
- data/lib/appjam/generators/cli.rb +7 -0
- data/lib/appjam/generators/model.rb +66 -10
- data/lib/appjam/generators/project.rb +57 -7
- data/lib/appjam/generators/project/Classes/ContactsAppDelegate.h.tt +5 -5
- data/lib/appjam/generators/project/Classes/ContactsAppDelegate.m.tt +14 -14
- data/lib/appjam/generators/project/Classes/contacts/ApplicationFacade.h.tt +11 -11
- data/lib/appjam/generators/project/Classes/contacts/ApplicationFacade.m.tt +8 -8
- data/lib/appjam/generators/project/Classes/contacts/controller/CreateUserCommand.h.tt +4 -4
- data/lib/appjam/generators/project/Classes/contacts/controller/CreateUserCommand.m.tt +13 -13
- data/lib/appjam/generators/project/Classes/contacts/controller/DeleteUserCommand.h.tt +4 -4
- data/lib/appjam/generators/project/Classes/contacts/controller/DeleteUserCommand.m.tt +10 -10
- data/lib/appjam/generators/project/Classes/contacts/controller/GetUsersCommand.h.tt +4 -5
- data/lib/appjam/generators/project/Classes/contacts/controller/GetUsersCommand.m.tt +8 -9
- data/lib/appjam/generators/project/Classes/contacts/controller/StartupCommand.h.tt +2 -2
- data/lib/appjam/generators/project/Classes/contacts/controller/StartupCommand.m.tt +12 -12
- data/lib/appjam/generators/project/Classes/contacts/controller/UpdateUserCommand.h.tt +4 -4
- data/lib/appjam/generators/project/Classes/contacts/controller/UpdateUserCommand.m.tt +13 -13
- data/lib/appjam/generators/project/Classes/contacts/model/UserProxy.h.tt +4 -4
- data/lib/appjam/generators/project/Classes/contacts/model/UserProxy.m.tt +15 -15
- data/lib/appjam/generators/project/Classes/contacts/model/vo/UserVO.h.tt +7 -7
- data/lib/appjam/generators/project/Classes/contacts/model/vo/UserVO.m.tt +18 -18
- data/lib/appjam/generators/project/Classes/contacts/view/UserFormMediator.h.tt +5 -5
- data/lib/appjam/generators/project/Classes/contacts/view/UserFormMediator.m.tt +18 -18
- data/lib/appjam/generators/project/Classes/contacts/view/UserListMediator.h.tt +5 -5
- data/lib/appjam/generators/project/Classes/contacts/view/UserListMediator.m.tt +19 -19
- data/lib/appjam/generators/project/Classes/contacts/view/UserMediator.h.tt +15 -0
- data/lib/appjam/generators/project/Classes/contacts/view/UserMediator.m.tt +43 -0
- data/lib/appjam/generators/project/Classes/contacts/view/components/Contacts.h.tt +12 -12
- data/lib/appjam/generators/project/Classes/contacts/view/components/Contacts.m.tt +14 -14
- data/lib/appjam/generators/project/Classes/contacts/view/components/UserForm.h.tt +14 -14
- data/lib/appjam/generators/project/Classes/contacts/view/components/UserForm.m.tt +29 -29
- data/lib/appjam/generators/project/Classes/contacts/view/components/UserList.h.tt +15 -15
- data/lib/appjam/generators/project/Classes/contacts/view/components/UserList.m.tt +29 -29
- data/lib/appjam/generators/project/Classes/org/puremvc/objectivec/patterns/command/SimpleCommand.m +1 -1
- data/lib/appjam/generators/project/Contacts_Prefix.pch.tt +1 -1
- data/lib/appjam/generators/project/main.m.tt +4 -4
- data/lib/appjam/generators/project/utils/NSStringWhiteSpace.h +2 -2
- data/lib/appjam/generators/project/utils/NSStringWhiteSpace.m +2 -2
- data/lib/appjam/generators/project/utils/UIDevice.h +2 -2
- data/lib/appjam/generators/project/utils/UIDevice.m +2 -2
- data/lib/appjam/generators/project/utils/URLEncodeString.h +2 -2
- data/lib/appjam/generators/project/utils/URLEncodeString.m +2 -2
- data/lib/appjam/version.rb +4 -4
- data/test/test_model_generator.rb +28 -0
- data/test/test_project_generator.rb +5 -5
- metadata +13 -15
- data/lib/appjam/generators/project/Classes/contacts/view/ContactsMediator.h.tt +0 -15
- data/lib/appjam/generators/project/Classes/contacts/view/ContactsMediator.m.tt +0 -43
@@ -1,18 +1,18 @@
|
|
1
1
|
//
|
2
|
-
//
|
2
|
+
// <%= @class_name %>List.m
|
3
3
|
// PureMVC_ObjectiveC
|
4
4
|
//
|
5
|
-
//
|
6
|
-
//
|
5
|
+
// Created by <%= @developer.capitalize %> on <%= @created_on %>
|
6
|
+
// Copyright(c) <%= Time.now.year %>, All rights reserved.
|
7
7
|
//
|
8
8
|
|
9
|
-
#import "
|
9
|
+
#import "<%= @class_name %>List.h"
|
10
10
|
|
11
|
-
#define USER_CELL_ID @"
|
11
|
+
#define USER_CELL_ID @"<%= @class_name %>CellID"
|
12
12
|
|
13
|
-
@implementation
|
13
|
+
@implementation <%= @class_name %>List
|
14
14
|
|
15
|
-
@synthesize
|
15
|
+
@synthesize <%= @project_name %>s, delegate;
|
16
16
|
|
17
17
|
-(id)init {
|
18
18
|
return [super initWithStyle:UITableViewStylePlain];
|
@@ -20,55 +20,55 @@
|
|
20
20
|
|
21
21
|
- (void)loadView {
|
22
22
|
[super loadView];
|
23
|
-
self
|
23
|
+
self.<%= @project_name %>s = [NSMutableArray array];
|
24
24
|
//self.navigationItem.leftBarButtonItem = self.editButtonItem;
|
25
|
-
self.navigationItem.title = @"
|
26
|
-
self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self action:@selector(
|
25
|
+
self.navigationItem.title = @"<%= @class_name %>s";
|
26
|
+
self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self action:@selector(new<%= @class_name %>)];
|
27
27
|
}
|
28
28
|
|
29
29
|
-(void)viewDidAppear:(BOOL)animated {
|
30
30
|
[super viewDidAppear:animated];
|
31
|
-
[delegate
|
31
|
+
[delegate <%= @project_name %>ListAppeared];
|
32
32
|
}
|
33
33
|
|
34
|
-
-(void)
|
35
|
-
self
|
34
|
+
-(void)reload<%= @class_name %>s:(NSMutableArray *)_<%= @project_name %>s {
|
35
|
+
self.<%= @project_name %>s = _<%= @project_name %>s;
|
36
36
|
[self.tableView reloadData];
|
37
37
|
}
|
38
38
|
|
39
39
|
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {
|
40
|
-
|
41
|
-
[
|
40
|
+
<%= @class_name %>VO *<%= @project_name %>VO = [[<%= @project_name %>s objectAtIndex:indexPath.row] retain];
|
41
|
+
[<%= @project_name %>s removeObjectAtIndex:indexPath.row];
|
42
42
|
[self.tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationFade];
|
43
|
-
[delegate
|
44
|
-
[
|
43
|
+
[delegate delete<%= @class_name %>Selected:<%= @project_name %>VO];
|
44
|
+
[<%= @project_name %>VO release];
|
45
45
|
}
|
46
46
|
|
47
47
|
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
|
48
|
-
UITableViewCell
|
49
|
-
if (
|
50
|
-
|
51
|
-
|
48
|
+
UITableViewCell *<%= @project_name %>Cell = [tableView dequeueReusableCellWithIdentifier:USER_CELL_ID];
|
49
|
+
if (<%= @project_name %>Cell == nil) {
|
50
|
+
<%= @project_name %>Cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:USER_CELL_ID] autorelease];
|
51
|
+
<%= @project_name %>Cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
|
52
52
|
}
|
53
|
-
|
54
|
-
|
55
|
-
return
|
53
|
+
<%= @class_name %>VO *<%= @project_name %>VO = [<%= @project_name %>s objectAtIndex:indexPath.row];
|
54
|
+
<%= @project_name %>Cell.textLabel.text = [<%= @project_name %>VO givenName];
|
55
|
+
return <%= @project_name %>Cell;
|
56
56
|
}
|
57
57
|
|
58
58
|
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
|
59
|
-
return [
|
59
|
+
return [<%= @project_name %>s count];
|
60
60
|
}
|
61
61
|
|
62
|
-
-(void)
|
63
|
-
[delegate
|
62
|
+
-(void)new<%= @class_name %> {
|
63
|
+
[delegate new<%= @class_name %>Selected];
|
64
64
|
}
|
65
65
|
|
66
66
|
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
|
67
|
-
[delegate
|
67
|
+
[delegate <%= @project_name %>Selected:[<%= @project_name %>s objectAtIndex:indexPath.row]];
|
68
68
|
}
|
69
69
|
|
70
70
|
- (void)dealloc {
|
71
|
-
self
|
71
|
+
self.<%= @project_name %>s = nil;
|
72
72
|
self.delegate = nil;
|
73
73
|
[super dealloc];
|
74
74
|
}
|
data/lib/appjam/generators/project/Classes/org/puremvc/objectivec/patterns/command/SimpleCommand.m
CHANGED
@@ -23,7 +23,7 @@
|
|
23
23
|
*
|
24
24
|
* <P>
|
25
25
|
* In the Command Pattern, an application use-case typically
|
26
|
-
* begins with some
|
26
|
+
* begins with some <%= @project_name %> action, which results in an <code>INotification</code> being broadcast, which
|
27
27
|
* is handled by business logic in the <code>execute</code> method of an
|
28
28
|
* <code>ICommand</code>.</P>
|
29
29
|
*
|
@@ -1,9 +1,9 @@
|
|
1
1
|
//
|
2
2
|
// main.m
|
3
|
-
//
|
3
|
+
// <%= @class_name %>
|
4
4
|
//
|
5
|
-
// Created by
|
6
|
-
// Copyright
|
5
|
+
// Created by <%= @developer.capitalize %> on <%= @created_on %>
|
6
|
+
// Copyright(c) <%= Time.now.year %>, All rights reserved.
|
7
7
|
//
|
8
8
|
|
9
9
|
#import <UIKit/UIKit.h>
|
@@ -11,7 +11,7 @@
|
|
11
11
|
int main(int argc, char *argv[]) {
|
12
12
|
|
13
13
|
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
|
14
|
-
int retVal = UIApplicationMain(argc, argv, nil, @"
|
14
|
+
int retVal = UIApplicationMain(argc, argv, nil, @"<%= @class_name %>AppDelegate");
|
15
15
|
[pool release];
|
16
16
|
return retVal;
|
17
17
|
}
|
@@ -2,8 +2,8 @@
|
|
2
2
|
// NSStringWhiteSpace.h
|
3
3
|
// YueBao
|
4
4
|
//
|
5
|
-
// Created by
|
6
|
-
// Copyright
|
5
|
+
// Created by <%= @developer.capitalize %> on <%= @created_on %>
|
6
|
+
// Copyright(c) <%= Time.now.year %>, All rights reserved.
|
7
7
|
//
|
8
8
|
|
9
9
|
#import <Foundation/Foundation.h>
|
@@ -2,8 +2,8 @@
|
|
2
2
|
// NSStringWhiteSpace.m
|
3
3
|
// YueBao
|
4
4
|
//
|
5
|
-
// Created by
|
6
|
-
// Copyright
|
5
|
+
// Created by <%= @developer.capitalize %> on <%= @created_on %>
|
6
|
+
// Copyright(c) <%= Time.now.year %>, All rights reserved.
|
7
7
|
//
|
8
8
|
|
9
9
|
#import "NSStringWhiteSpace.h"
|
@@ -2,8 +2,8 @@
|
|
2
2
|
// UIDevice.h
|
3
3
|
// EarthShake
|
4
4
|
//
|
5
|
-
// Created by
|
6
|
-
// Copyright
|
5
|
+
// Created by <%= @developer.capitalize %> on <%= @created_on %>
|
6
|
+
// Copyright(c) <%= Time.now.year %>, All rights reserved.
|
7
7
|
//
|
8
8
|
|
9
9
|
#import <Foundation/Foundation.h>
|
@@ -2,8 +2,8 @@
|
|
2
2
|
// UIDevice.m
|
3
3
|
// EarthShake
|
4
4
|
//
|
5
|
-
// Created by
|
6
|
-
// Copyright
|
5
|
+
// Created by <%= @developer.capitalize %> on <%= @created_on %>
|
6
|
+
// Copyright(c) <%= Time.now.year %>, All rights reserved.
|
7
7
|
//
|
8
8
|
|
9
9
|
#import "UIDevice.h"
|
@@ -2,8 +2,8 @@
|
|
2
2
|
// URLEncodeString.h
|
3
3
|
// YueBao
|
4
4
|
//
|
5
|
-
// Created by
|
6
|
-
// Copyright
|
5
|
+
// Created by <%= @developer.capitalize %> on <%= @created_on %>
|
6
|
+
// Copyright(c) <%= Time.now.year %>, All rights reserved.
|
7
7
|
//
|
8
8
|
|
9
9
|
#import <Foundation/Foundation.h>
|
@@ -2,8 +2,8 @@
|
|
2
2
|
// URLEncodeString.m
|
3
3
|
// YueBao
|
4
4
|
//
|
5
|
-
// Created by
|
6
|
-
// Copyright
|
5
|
+
// Created by <%= @developer.capitalize %> on <%= @created_on %>
|
6
|
+
// Copyright(c) <%= Time.now.year %>, All rights reserved.
|
7
7
|
//
|
8
8
|
|
9
9
|
#import "URLEncodeString.h"
|
data/lib/appjam/version.rb
CHANGED
@@ -0,0 +1,28 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/helper')
|
2
|
+
|
3
|
+
class TestProjectGenerator < Test::Unit::TestCase
|
4
|
+
def setup
|
5
|
+
@apptmp = "#{Dir.tmpdir}/appjam-tests/#{UUID.new.generate}"
|
6
|
+
`mkdir -p #{@apptmp}`
|
7
|
+
end
|
8
|
+
|
9
|
+
def teardown
|
10
|
+
`rm -rf #{@apptmp}`
|
11
|
+
`rm -rf /tmp/project`
|
12
|
+
end
|
13
|
+
|
14
|
+
context 'the project generator' do
|
15
|
+
|
16
|
+
should "do not allow create model outside iphone project folder" do
|
17
|
+
assert_nothing_raised { silence_logger { generate(:project, 'sample_project', "--root=#{@apptmp}") } }
|
18
|
+
assert_raise(::NameError) { silence_logger { generate(:model, "user") } }
|
19
|
+
end
|
20
|
+
|
21
|
+
should "raise an Error when given invalid constant names for model" do
|
22
|
+
assert_raise(::NameError) { silence_logger { generate(:model, "123asdf") } }
|
23
|
+
assert_raise(::NameError) { silence_logger { generate(:model, "./sample_project") } }
|
24
|
+
end
|
25
|
+
|
26
|
+
end
|
27
|
+
|
28
|
+
end
|
@@ -22,13 +22,13 @@ class TestProjectGenerator < Test::Unit::TestCase
|
|
22
22
|
assert_nothing_raised { silence_logger { generate(:project, 'sample_project', "--root=#{@apptmp}") } }
|
23
23
|
assert_file_exists("#{@apptmp}/sample_project")
|
24
24
|
assert_file_exists("#{@apptmp}/sample_project/Classes")
|
25
|
-
assert_file_exists("#{@apptmp}/sample_project/Contacts_Prefix.pch")
|
26
|
-
assert_file_exists("#{@apptmp}/sample_project/Contacts-Info.plist")
|
27
|
-
assert_file_exists("#{@apptmp}/sample_project/Contacts.xcodeproj")
|
28
|
-
assert_file_exists("#{@apptmp}/sample_project/main.m")
|
25
|
+
# assert_file_exists("#{@apptmp}/sample_project/Contacts_Prefix.pch")
|
26
|
+
# assert_file_exists("#{@apptmp}/sample_project/Contacts-Info.plist")
|
27
|
+
# assert_file_exists("#{@apptmp}/sample_project/Contacts.xcodeproj")
|
28
|
+
# assert_file_exists("#{@apptmp}/sample_project/main.m")
|
29
29
|
end
|
30
30
|
|
31
|
-
should "raise an Error when given invalid constant names" do
|
31
|
+
should "raise an Error when given invalid constant names for project" do
|
32
32
|
assert_raise(::NameError) { silence_logger { generate(:project, "123asdf", "--root=#{@apptmp}") } }
|
33
33
|
assert_raise(::NameError) { silence_logger { generate(:project, "./sample_project", "--root=#{@apptmp}") } }
|
34
34
|
end
|
metadata
CHANGED
@@ -1,15 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: appjam
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
5
|
-
prerelease:
|
4
|
+
hash: 25
|
5
|
+
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 1
|
9
|
-
-
|
10
|
-
|
11
|
-
- 11
|
12
|
-
version: 0.1.0.pre11
|
9
|
+
- 1
|
10
|
+
version: 0.1.1
|
13
11
|
platform: ruby
|
14
12
|
authors:
|
15
13
|
- Eiffel Q
|
@@ -17,7 +15,7 @@ autorequire:
|
|
17
15
|
bindir: bin
|
18
16
|
cert_chain: []
|
19
17
|
|
20
|
-
date: 2011-
|
18
|
+
date: 2011-05-01 00:00:00 Z
|
21
19
|
dependencies:
|
22
20
|
- !ruby/object:Gem::Dependency
|
23
21
|
type: :runtime
|
@@ -328,12 +326,12 @@ files:
|
|
328
326
|
- lib/appjam/generators/project/Classes/contacts/model/UserProxy.m.tt
|
329
327
|
- lib/appjam/generators/project/Classes/contacts/model/vo/UserVO.h.tt
|
330
328
|
- lib/appjam/generators/project/Classes/contacts/model/vo/UserVO.m.tt
|
331
|
-
- lib/appjam/generators/project/Classes/contacts/view/ContactsMediator.h.tt
|
332
|
-
- lib/appjam/generators/project/Classes/contacts/view/ContactsMediator.m.tt
|
333
329
|
- lib/appjam/generators/project/Classes/contacts/view/UserFormMediator.h.tt
|
334
330
|
- lib/appjam/generators/project/Classes/contacts/view/UserFormMediator.m.tt
|
335
331
|
- lib/appjam/generators/project/Classes/contacts/view/UserListMediator.h.tt
|
336
332
|
- lib/appjam/generators/project/Classes/contacts/view/UserListMediator.m.tt
|
333
|
+
- lib/appjam/generators/project/Classes/contacts/view/UserMediator.h.tt
|
334
|
+
- lib/appjam/generators/project/Classes/contacts/view/UserMediator.m.tt
|
337
335
|
- lib/appjam/generators/project/Classes/contacts/view/components/Contacts.h.tt
|
338
336
|
- lib/appjam/generators/project/Classes/contacts/view/components/Contacts.m.tt
|
339
337
|
- lib/appjam/generators/project/Classes/contacts/view/components/UserForm.h.tt
|
@@ -388,6 +386,7 @@ files:
|
|
388
386
|
- LICENSE.txt
|
389
387
|
- README.rdoc
|
390
388
|
- test/helper.rb
|
389
|
+
- test/test_model_generator.rb
|
391
390
|
- test/test_project_generator.rb
|
392
391
|
- bin/appjam
|
393
392
|
homepage: http://github.com/eiffelqiu/appjam
|
@@ -410,14 +409,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
410
409
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
411
410
|
none: false
|
412
411
|
requirements:
|
413
|
-
- - "
|
412
|
+
- - ">="
|
414
413
|
- !ruby/object:Gem::Version
|
415
|
-
hash:
|
414
|
+
hash: 3
|
416
415
|
segments:
|
417
|
-
-
|
418
|
-
|
419
|
-
- 1
|
420
|
-
version: 1.3.1
|
416
|
+
- 0
|
417
|
+
version: "0"
|
421
418
|
requirements: []
|
422
419
|
|
423
420
|
rubyforge_project:
|
@@ -427,4 +424,5 @@ specification_version: 3
|
|
427
424
|
summary: an iphone app generator
|
428
425
|
test_files:
|
429
426
|
- test/helper.rb
|
427
|
+
- test/test_model_generator.rb
|
430
428
|
- test/test_project_generator.rb
|
@@ -1,15 +0,0 @@
|
|
1
|
-
//
|
2
|
-
// ContactsMediator.h
|
3
|
-
// PureMVC_ObjectiveC
|
4
|
-
//
|
5
|
-
// PureMVC Port to ObjectiveC by Brian Knorr <brian.knorr@puremvc.org>
|
6
|
-
// PureMVC - Copyright(c) 2006-2008 Futurescale, Inc., Some rights reserved.
|
7
|
-
//
|
8
|
-
|
9
|
-
#import "Mediator.h"
|
10
|
-
|
11
|
-
@interface ContactsMediator : Mediator {
|
12
|
-
|
13
|
-
}
|
14
|
-
|
15
|
-
@end
|
@@ -1,43 +0,0 @@
|
|
1
|
-
//
|
2
|
-
// ContactsMediator.m
|
3
|
-
// PureMVC_ObjectiveC
|
4
|
-
//
|
5
|
-
// PureMVC Port to ObjectiveC by Brian Knorr <brian.knorr@puremvc.org>
|
6
|
-
// PureMVC - Copyright(c) 2006-2008 Futurescale, Inc., Some rights reserved.
|
7
|
-
//
|
8
|
-
|
9
|
-
#import "ContactsMediator.h"
|
10
|
-
#import "Contacts.h"
|
11
|
-
#import "ApplicationFacade.h"
|
12
|
-
|
13
|
-
@implementation ContactsMediator
|
14
|
-
|
15
|
-
+(NSString *)NAME {
|
16
|
-
return @"ContactsMediator";
|
17
|
-
}
|
18
|
-
|
19
|
-
-(Contacts *)viewComponent {
|
20
|
-
return viewComponent;
|
21
|
-
}
|
22
|
-
|
23
|
-
-(void)initializeMediator {
|
24
|
-
self.mediatorName = [ContactsMediator NAME];
|
25
|
-
}
|
26
|
-
|
27
|
-
-(NSArray *)listNotificationInterests {
|
28
|
-
return [NSArray arrayWithObjects:ShowUserForm, ShowUserList, ShowError, nil];
|
29
|
-
}
|
30
|
-
|
31
|
-
-(void)handleNotification:(id<INotification>)notification {
|
32
|
-
|
33
|
-
if ([[notification name] isEqualToString:ShowUserForm]) {
|
34
|
-
[self.viewComponent showUserForm];
|
35
|
-
} else if ([[notification name] isEqualToString:ShowUserList]) {
|
36
|
-
[self.viewComponent showUserList];
|
37
|
-
} else if ([[notification name] isEqualToString:ShowError]) {
|
38
|
-
[self.viewComponent showError:[notification body]];
|
39
|
-
}
|
40
|
-
}
|
41
|
-
|
42
|
-
|
43
|
-
@end
|