Skip to content

Commit 5f61c1c

Browse files
authored
Merge pull request #15 from TryFetch/swift3
Patched to Swift 3
2 parents 07e5c14 + 281a7d4 commit 5f61c1c

File tree

81 files changed

+1487
-1495
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

81 files changed

+1487
-1495
lines changed

Fetch.xcodeproj/project.pbxproj

Lines changed: 14 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -105,13 +105,13 @@
105105
283D9D2C1C3FB21A00037125 /* FetchMediaControls.xib in Resources */ = {isa = PBXBuildFile; fileRef = 283D9D211C3FB21A00037125 /* FetchMediaControls.xib */; };
106106
283D9D2D1C3FB21A00037125 /* FirstRun.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 283D9D221C3FB21A00037125 /* FirstRun.storyboard */; };
107107
283D9D2E1C3FB21A00037125 /* FolderPicker.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 283D9D231C3FB21A00037125 /* FolderPicker.storyboard */; };
108-
283D9D2F1C3FB21A00037125 /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 283D9D241C3FB21A00037125 /* LaunchScreen.xib */; };
109108
283D9D301C3FB21A00037125 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 283D9D251C3FB21A00037125 /* Main.storyboard */; };
110109
283D9D311C3FB21A00037125 /* More.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 283D9D261C3FB21A00037125 /* More.storyboard */; };
111110
283D9D321C3FB21A00037125 /* MoveFiles.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 283D9D271C3FB21A00037125 /* MoveFiles.storyboard */; };
112111
283D9D331C3FB21A00037125 /* Transfers.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 283D9D281C3FB21A00037125 /* Transfers.storyboard */; };
113112
283D9D341C3FB21A00037125 /* TVMovies.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 283D9D291C3FB21A00037125 /* TVMovies.storyboard */; };
114113
283D9D351C3FB21A00037125 /* WhatsNewViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 283D9D2A1C3FB21A00037125 /* WhatsNewViewController.xib */; };
114+
28679F141FC62DEA002F5A68 /* Launch Screen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 28679F131FC62DEA002F5A68 /* Launch Screen.storyboard */; };
115115
286AFDBA1CA7118F007C2526 /* 1Password.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 286AFDB91CA7118F007C2526 /* 1Password.xcassets */; };
116116
286FFFAA1C9587A200A0D8FA /* AllFilesTableViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 286FFFA91C9587A200A0D8FA /* AllFilesTableViewController.swift */; };
117117
286FFFAE1C95A55E00A0D8FA /* FetchAlertController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 286FFFAD1C95A55D00A0D8FA /* FetchAlertController.swift */; };
@@ -196,10 +196,6 @@
196196
280B28381C1C8930006E17B6 /* Fetch.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Fetch.app; sourceTree = BUILT_PRODUCTS_DIR; };
197197
280B283B1C1C8930006E17B6 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
198198
280B28471C1C8930006E17B6 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
199-
280B28541C1C894B006E17B6 /* Downpour.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Downpour.h; sourceTree = "<group>"; };
200-
280B28561C1C894B006E17B6 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
201-
280B285F1C1C8961006E17B6 /* Downpour.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Downpour.swift; sourceTree = "<group>"; };
202-
280B28601C1C8961006E17B6 /* String+CleanedString.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "String+CleanedString.swift"; sourceTree = "<group>"; };
203199
280B28681C1C8977006E17B6 /* SRBarcodeScanner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SRBarcodeScanner.framework; sourceTree = BUILT_PRODUCTS_DIR; };
204200
280B286A1C1C8977006E17B6 /* SRBarcodeScanner.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SRBarcodeScanner.h; sourceTree = "<group>"; };
205201
280B286C1C1C8977006E17B6 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
@@ -294,13 +290,13 @@
294290
283D9D211C3FB21A00037125 /* FetchMediaControls.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; name = FetchMediaControls.xib; path = Interfaces/FetchMediaControls.xib; sourceTree = "<group>"; };
295291
283D9D221C3FB21A00037125 /* FirstRun.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = FirstRun.storyboard; path = Interfaces/FirstRun.storyboard; sourceTree = "<group>"; };
296292
283D9D231C3FB21A00037125 /* FolderPicker.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = FolderPicker.storyboard; path = Interfaces/FolderPicker.storyboard; sourceTree = "<group>"; };
297-
283D9D241C3FB21A00037125 /* LaunchScreen.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; name = LaunchScreen.xib; path = Interfaces/LaunchScreen.xib; sourceTree = "<group>"; };
298293
283D9D251C3FB21A00037125 /* Main.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = Main.storyboard; path = Interfaces/Main.storyboard; sourceTree = "<group>"; };
299294
283D9D261C3FB21A00037125 /* More.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = More.storyboard; path = Interfaces/More.storyboard; sourceTree = "<group>"; };
300295
283D9D271C3FB21A00037125 /* MoveFiles.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = MoveFiles.storyboard; path = Interfaces/MoveFiles.storyboard; sourceTree = "<group>"; };
301296
283D9D281C3FB21A00037125 /* Transfers.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = Transfers.storyboard; path = Interfaces/Transfers.storyboard; sourceTree = "<group>"; };
302297
283D9D291C3FB21A00037125 /* TVMovies.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = TVMovies.storyboard; path = Interfaces/TVMovies.storyboard; sourceTree = "<group>"; };
303298
283D9D2A1C3FB21A00037125 /* WhatsNewViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; name = WhatsNewViewController.xib; path = Interfaces/WhatsNewViewController.xib; sourceTree = "<group>"; };
299+
28679F131FC62DEA002F5A68 /* Launch Screen.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = "Launch Screen.storyboard"; sourceTree = "<group>"; };
304300
286AFDB91CA7118F007C2526 /* 1Password.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = 1Password.xcassets; sourceTree = "<group>"; };
305301
286FFFA91C9587A200A0D8FA /* AllFilesTableViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AllFilesTableViewController.swift; sourceTree = "<group>"; };
306302
286FFFAD1C95A55D00A0D8FA /* FetchAlertController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FetchAlertController.swift; sourceTree = "<group>"; };
@@ -412,7 +408,6 @@
412408
isa = PBXGroup;
413409
children = (
414410
280B283A1C1C8930006E17B6 /* Fetch */,
415-
280B28531C1C894B006E17B6 /* Downpour */,
416411
280B28691C1C8977006E17B6 /* SRBarcodeScanner */,
417412
280B287E1C1C89BE006E17B6 /* PutioKit */,
418413
28C91E511CA709C600D45750 /* FetchUITests */,
@@ -449,17 +444,6 @@
449444
path = Fetch;
450445
sourceTree = "<group>";
451446
};
452-
280B28531C1C894B006E17B6 /* Downpour */ = {
453-
isa = PBXGroup;
454-
children = (
455-
280B285F1C1C8961006E17B6 /* Downpour.swift */,
456-
280B28601C1C8961006E17B6 /* String+CleanedString.swift */,
457-
280B28541C1C894B006E17B6 /* Downpour.h */,
458-
280B28561C1C894B006E17B6 /* Info.plist */,
459-
);
460-
path = Downpour;
461-
sourceTree = "<group>";
462-
};
463447
280B28691C1C8977006E17B6 /* SRBarcodeScanner */ = {
464448
isa = PBXGroup;
465449
children = (
@@ -546,7 +530,6 @@
546530
280011801C8C59DA00A809C6 /* Downloads.storyboard */,
547531
283D9D221C3FB21A00037125 /* FirstRun.storyboard */,
548532
283D9D231C3FB21A00037125 /* FolderPicker.storyboard */,
549-
283D9D241C3FB21A00037125 /* LaunchScreen.xib */,
550533
283D9D251C3FB21A00037125 /* Main.storyboard */,
551534
283D9D261C3FB21A00037125 /* More.storyboard */,
552535
283D9D271C3FB21A00037125 /* MoveFiles.storyboard */,
@@ -557,6 +540,7 @@
557540
2802CF2B1C3FBC940062DEEF /* RSS.storyboard */,
558541
2802CF2D1C3FBCA50062DEEF /* Sharing.storyboard */,
559542
289E63D91C9F20060090B6FA /* FAQs.storyboard */,
543+
28679F131FC62DEA002F5A68 /* Launch Screen.storyboard */,
560544
);
561545
name = Storyboards;
562546
sourceTree = "<group>";
@@ -1042,6 +1026,7 @@
10421026
280B28B31C1C8BC4006E17B6 /* CastFrameworkAssets.xcassets in Resources */,
10431027
283D9D2D1C3FB21A00037125 /* FirstRun.storyboard in Resources */,
10441028
280011811C8C59DA00A809C6 /* Downloads.storyboard in Resources */,
1029+
28679F141FC62DEA002F5A68 /* Launch Screen.storyboard in Resources */,
10451030
283D9D2B1C3FB21A00037125 /* CastRemote.xib in Resources */,
10461031
28B209081C9C83BE007229C8 /* TVMovieLoading.xib in Resources */,
10471032
283D9D351C3FB21A00037125 /* WhatsNewViewController.xib in Resources */,
@@ -1050,7 +1035,6 @@
10501035
283D9D2C1C3FB21A00037125 /* FetchMediaControls.xib in Resources */,
10511036
2802CF2E1C3FBCA50062DEEF /* Sharing.storyboard in Resources */,
10521037
280B29201C1C8D8F006E17B6 /* Settings.bundle in Resources */,
1053-
283D9D2F1C3FB21A00037125 /* LaunchScreen.xib in Resources */,
10541038
283D9D321C3FB21A00037125 /* MoveFiles.storyboard in Resources */,
10551039
283D9D331C3FB21A00037125 /* Transfers.storyboard in Resources */,
10561040
283D9D341C3FB21A00037125 /* TVMovies.storyboard in Resources */,
@@ -1170,7 +1154,7 @@
11701154
);
11711155
runOnlyForDeploymentPostprocessing = 0;
11721156
shellPath = /bin/sh;
1173-
shellScript = "diff \"${PODS_ROOT}/../Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n";
1157+
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n";
11741158
showEnvVarsInLog = 0;
11751159
};
11761160
C0A3B64AE9933A3866EAFBB4 /* [CP] Check Pods Manifest.lock */ = {
@@ -1185,7 +1169,7 @@
11851169
);
11861170
runOnlyForDeploymentPostprocessing = 0;
11871171
shellPath = /bin/sh;
1188-
shellScript = "diff \"${PODS_ROOT}/../Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n";
1172+
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n";
11891173
showEnvVarsInLog = 0;
11901174
};
11911175
DB2A97C234A7A7C666877396 /* [CP] Copy Pods Resources */ = {
@@ -1384,6 +1368,7 @@
13841368
ONLY_ACTIVE_ARCH = YES;
13851369
SDKROOT = iphoneos;
13861370
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
1371+
SWIFT_VERSION = 3.0;
13871372
TARGETED_DEVICE_FAMILY = "1,2";
13881373
};
13891374
name = Debug;
@@ -1421,6 +1406,7 @@
14211406
IPHONEOS_DEPLOYMENT_TARGET = 9.2;
14221407
MTL_ENABLE_DEBUG_INFO = NO;
14231408
SDKROOT = iphoneos;
1409+
SWIFT_VERSION = 3.0;
14241410
TARGETED_DEVICE_FAMILY = "1,2";
14251411
VALIDATE_PRODUCT = YES;
14261412
};
@@ -1455,7 +1441,7 @@
14551441
PRODUCT_NAME = "$(TARGET_NAME)";
14561442
PROVISIONING_PROFILE = "";
14571443
SWIFT_OBJC_BRIDGING_HEADER = "$(SRCROOT)/Fetch/Fetch-Bridging-Header.h";
1458-
SWIFT_VERSION = 2.3;
1444+
SWIFT_VERSION = 3.0;
14591445
};
14601446
name = Debug;
14611447
};
@@ -1487,7 +1473,7 @@
14871473
PRODUCT_NAME = "$(TARGET_NAME)";
14881474
PROVISIONING_PROFILE = "";
14891475
SWIFT_OBJC_BRIDGING_HEADER = "$(SRCROOT)/Fetch/Fetch-Bridging-Header.h";
1490-
SWIFT_VERSION = 2.3;
1476+
SWIFT_VERSION = 3.0;
14911477
};
14921478
name = Release;
14931479
};
@@ -1512,7 +1498,7 @@
15121498
PRODUCT_NAME = "$(TARGET_NAME)";
15131499
SKIP_INSTALL = YES;
15141500
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
1515-
SWIFT_VERSION = 2.3;
1501+
SWIFT_VERSION = 3.0;
15161502
VERSIONING_SYSTEM = "apple-generic";
15171503
VERSION_INFO_PREFIX = "";
15181504
};
@@ -1538,7 +1524,7 @@
15381524
PRODUCT_BUNDLE_IDENTIFIER = com.getfetchapp.SRBarcodeScanner;
15391525
PRODUCT_NAME = "$(TARGET_NAME)";
15401526
SKIP_INSTALL = YES;
1541-
SWIFT_VERSION = 2.3;
1527+
SWIFT_VERSION = 3.0;
15421528
VERSIONING_SYSTEM = "apple-generic";
15431529
VERSION_INFO_PREFIX = "";
15441530
};
@@ -1569,7 +1555,7 @@
15691555
PRODUCT_BUNDLE_IDENTIFIER = com.getfetchapp.PutioKit;
15701556
PRODUCT_NAME = "$(TARGET_NAME)";
15711557
SKIP_INSTALL = YES;
1572-
SWIFT_VERSION = 2.3;
1558+
SWIFT_VERSION = 3.0;
15731559
VERSIONING_SYSTEM = "apple-generic";
15741560
VERSION_INFO_PREFIX = "";
15751561
};
@@ -1600,7 +1586,7 @@
16001586
PRODUCT_BUNDLE_IDENTIFIER = com.getfetchapp.PutioKit;
16011587
PRODUCT_NAME = "$(TARGET_NAME)";
16021588
SKIP_INSTALL = YES;
1603-
SWIFT_VERSION = 2.3;
1589+
SWIFT_VERSION = 3.0;
16041590
VERSIONING_SYSTEM = "apple-generic";
16051591
VERSION_INFO_PREFIX = "";
16061592
};

Fetch/ActivityTableViewController.swift

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ class ActivityTableViewController: UITableViewController {
1616
let sb = UIStoryboard(name: "Main", bundle: nil)
1717

1818
var sortedKeys: [NSDate] {
19-
return Array(events.keys).sort { $0.compare($1) == .OrderedDescending }
19+
return Array(events.keys).sorted { $0.compare($1 as Date) == .orderedDescending }
2020
}
2121

2222
var overlay: LoaderView?
@@ -32,68 +32,68 @@ class ActivityTableViewController: UITableViewController {
3232
overlay = LoaderView(frame: tableView.frame)
3333
tableView.addSubview(overlay!.view)
3434

35-
refreshControl?.addTarget(self, action: #selector(fetch), forControlEvents: UIControlEvents.ValueChanged)
35+
refreshControl?.addTarget(self, action: #selector(fetch), for: .valueChanged)
3636

37-
fetch(self)
37+
fetch(sender: self)
3838
}
3939

4040
func fetch(sender: AnyObject?) {
4141
Events.get { events, error in
42-
self.events = events
42+
self.events = events as [NSDate : [Event]]
4343
self.tableView.reloadData()
4444
self.refreshControl?.endRefreshing()
4545

4646
self.overlay?.hideWithAnimation()
4747
if events.count == 0 {
48-
self.noResults!.hidden = false
48+
self.noResults!.isHidden = false
4949
} else {
50-
self.noResults!.hidden = true
50+
self.noResults!.isHidden = true
5151
}
5252
}
5353
}
5454

55-
override func tableView(tableView: UITableView, willDisplayHeaderView view: UIView, forSection section: Int) {
55+
override func tableView(_ tableView: UITableView, willDisplayHeaderView view: UIView, forSection section: Int) {
5656
if let v = view as? UITableViewHeaderFooterView {
5757
v.backgroundView?.backgroundColor = .fetchLighterBackground()
58-
v.textLabel?.textColor = .whiteColor()
58+
v.textLabel?.textColor = .white
5959
}
6060
}
6161

6262
// MARK: - Table view data source
63-
64-
override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
63+
64+
override func numberOfSections(in tableView: UITableView) -> Int {
6565
return events.count
6666
}
6767

68-
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
68+
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
6969
let key = sortedKeys[section]
7070
return events[key]!.count
7171
}
72-
73-
override func tableView(tableView: UITableView, titleForHeaderInSection section: Int) -> String? {
74-
let dateFormatter = NSDateFormatter()
75-
dateFormatter.dateStyle = .LongStyle
76-
return dateFormatter.stringFromDate(sortedKeys[section])
72+
73+
override func tableView(_ tableView: UITableView, titleForHeaderInSection section: Int) -> String? {
74+
let dateFormatter = DateFormatter()
75+
dateFormatter.dateStyle = .long
76+
return dateFormatter.string(from: sortedKeys[section] as Date)
7777
}
7878

79-
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
80-
let cell = tableView.dequeueReusableCellWithIdentifier("eventCell")!
79+
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
80+
let cell = tableView.dequeueReusableCell(withIdentifier: "eventCell")!
8181
let key = sortedKeys[indexPath.section]
8282
let event = events[key]![indexPath.row]
8383
if event.fileID != nil {
84-
cell.accessoryType = .DisclosureIndicator
84+
cell.accessoryType = .disclosureIndicator
8585
}
8686
cell.textLabel?.text = event.name
8787
return cell
8888
}
8989

9090
// MARK: - Navigation
9191

92-
override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
92+
override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
9393
let key = sortedKeys[indexPath.section]
9494
let event = events[key]![indexPath.row]
95-
if let vc = sb.instantiateViewControllerWithIdentifier("directoryView") as? DirectoryTableViewController {
96-
File.getFileById("\(event.fileID!)") { file in
95+
if let vc = sb.instantiateViewController(withIdentifier: "directoryView") as? DirectoryTableViewController {
96+
File.getFileById(id: "\(event.fileID!)") { file in
9797
vc.file = file
9898
self.navigationController?.pushViewController(vc, animated: true)
9999
}
@@ -102,11 +102,11 @@ class ActivityTableViewController: UITableViewController {
102102

103103
// MARK: - Clear Activity
104104

105-
@IBAction func clearActivity(sender: AnyObject) {
105+
@IBAction func clearActivity(_ sender: AnyObject) {
106106
overlay?.showWithAnimation()
107107
Events.clear {
108-
self.delay(1) {
109-
self.fetch(self)
108+
self.delay(delay: 1) {
109+
self.fetch(sender: self)
110110
}
111111
}
112112
}

Fetch/AddFeedTableViewController.swift

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,12 +22,12 @@ class AddFeedTableViewController: UITableViewController {
2222

2323
// MARK: - Actions
2424

25-
@IBAction func close(sender: AnyObject) {
26-
dismissViewControllerAnimated(true, completion: nil)
25+
@IBAction func close(_ sender: AnyObject) {
26+
dismiss(animated: true, completion: nil)
2727
}
2828

29-
@IBAction func save(sender: AnyObject) {
30-
dismissViewControllerAnimated(true, completion: nil)
29+
@IBAction func save(_ sender: AnyObject) {
30+
dismiss(animated: true, completion: nil)
3131
}
3232

3333
}

0 commit comments

Comments
 (0)