Skip to content
This repository was archived by the owner on Jun 17, 2018. It is now read-only.

Commit 3002b87

Browse files
authored
Merge pull request #243 from kitasuke/swift3.0
Support Swift 3.0
2 parents 706c4a6 + ea566aa commit 3002b87

33 files changed

+551
-550
lines changed

.swift-version

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2.3
1+
3.0

Example/PagingMenuControllerDemo.xcodeproj/project.pbxproj

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -835,7 +835,7 @@
835835
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
836836
PRODUCT_BUNDLE_IDENTIFIER = "com.kitasuke.$(PRODUCT_NAME:rfc1034identifier)";
837837
PRODUCT_NAME = "$(TARGET_NAME)";
838-
SWIFT_VERSION = 2.3;
838+
SWIFT_VERSION = 3.0;
839839
TARGETED_DEVICE_FAMILY = "1,2";
840840
};
841841
name = Debug;
@@ -850,7 +850,7 @@
850850
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
851851
PRODUCT_BUNDLE_IDENTIFIER = "com.kitasuke.$(PRODUCT_NAME:rfc1034identifier)";
852852
PRODUCT_NAME = "$(TARGET_NAME)";
853-
SWIFT_VERSION = 2.3;
853+
SWIFT_VERSION = 3.0;
854854
TARGETED_DEVICE_FAMILY = "1,2";
855855
};
856856
name = Release;
@@ -873,7 +873,7 @@
873873
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
874874
PRODUCT_BUNDLE_IDENTIFIER = "com.kitasuke.$(PRODUCT_NAME:rfc1034identifier)";
875875
PRODUCT_NAME = "$(TARGET_NAME)";
876-
SWIFT_VERSION = 2.3;
876+
SWIFT_VERSION = 3.0;
877877
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/PagingMenuControllerDemo.app/PagingMenuControllerDemo";
878878
};
879879
name = Debug;
@@ -892,7 +892,7 @@
892892
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
893893
PRODUCT_BUNDLE_IDENTIFIER = "com.kitasuke.$(PRODUCT_NAME:rfc1034identifier)";
894894
PRODUCT_NAME = "$(TARGET_NAME)";
895-
SWIFT_VERSION = 2.3;
895+
SWIFT_VERSION = 3.0;
896896
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/PagingMenuControllerDemo.app/PagingMenuControllerDemo";
897897
};
898898
name = Release;
@@ -912,7 +912,7 @@
912912
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
913913
PRODUCT_BUNDLE_IDENTIFIER = "com.yusuke.$(PRODUCT_NAME:rfc1034identifier)";
914914
PRODUCT_NAME = "$(TARGET_NAME)";
915-
SWIFT_VERSION = 2.3;
915+
SWIFT_VERSION = 3.0;
916916
TARGETED_DEVICE_FAMILY = "1,2";
917917
};
918918
name = Debug;
@@ -928,7 +928,7 @@
928928
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
929929
PRODUCT_BUNDLE_IDENTIFIER = "com.yusuke.$(PRODUCT_NAME:rfc1034identifier)";
930930
PRODUCT_NAME = "$(TARGET_NAME)";
931-
SWIFT_VERSION = 2.3;
931+
SWIFT_VERSION = 3.0;
932932
TARGETED_DEVICE_FAMILY = "1,2";
933933
};
934934
name = Release;
@@ -950,7 +950,7 @@
950950
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
951951
PRODUCT_BUNDLE_IDENTIFIER = "com.yusuke.$(PRODUCT_NAME:rfc1034identifier)";
952952
PRODUCT_NAME = "$(TARGET_NAME)";
953-
SWIFT_VERSION = 2.3;
953+
SWIFT_VERSION = 3.0;
954954
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/PagingMenuControllerDemo2.app/PagingMenuControllerDemo2";
955955
};
956956
name = Debug;
@@ -968,7 +968,7 @@
968968
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
969969
PRODUCT_BUNDLE_IDENTIFIER = "com.yusuke.$(PRODUCT_NAME:rfc1034identifier)";
970970
PRODUCT_NAME = "$(TARGET_NAME)";
971-
SWIFT_VERSION = 2.3;
971+
SWIFT_VERSION = 3.0;
972972
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/PagingMenuControllerDemo2.app/PagingMenuControllerDemo2";
973973
};
974974
name = Release;
@@ -982,7 +982,7 @@
982982
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
983983
PRODUCT_BUNDLE_IDENTIFIER = com.kitasuke.PagingMenuControllerDemoUITests;
984984
PRODUCT_NAME = "$(TARGET_NAME)";
985-
SWIFT_VERSION = 2.3;
985+
SWIFT_VERSION = 3.0;
986986
TEST_TARGET_NAME = PagingMenuControllerDemo;
987987
USES_XCTRUNNER = YES;
988988
};
@@ -996,7 +996,7 @@
996996
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
997997
PRODUCT_BUNDLE_IDENTIFIER = com.kitasuke.PagingMenuControllerDemoUITests;
998998
PRODUCT_NAME = "$(TARGET_NAME)";
999-
SWIFT_VERSION = 2.3;
999+
SWIFT_VERSION = 3.0;
10001000
TEST_TARGET_NAME = PagingMenuControllerDemo;
10011001
USES_XCTRUNNER = YES;
10021002
};

Example/PagingMenuControllerDemo/AppDelegate.swift

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,31 +13,30 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
1313

1414
var window: UIWindow?
1515

16-
17-
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
16+
fileprivate func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
1817
// Override point for customization after application launch.
1918
return true
2019
}
2120

22-
func applicationWillResignActive(application: UIApplication) {
21+
func applicationWillResignActive(_ application: UIApplication) {
2322
// Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
2423
// Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game.
2524
}
2625

27-
func applicationDidEnterBackground(application: UIApplication) {
26+
func applicationDidEnterBackground(_ application: UIApplication) {
2827
// Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.
2928
// If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
3029
}
3130

32-
func applicationWillEnterForeground(application: UIApplication) {
31+
func applicationWillEnterForeground(_ application: UIApplication) {
3332
// Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background.
3433
}
3534

36-
func applicationDidBecomeActive(application: UIApplication) {
35+
func applicationDidBecomeActive(_ application: UIApplication) {
3736
// Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
3837
}
3938

40-
func applicationWillTerminate(application: UIApplication) {
39+
func applicationWillTerminate(_ application: UIApplication) {
4140
// Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
4241
}
4342

Example/PagingMenuControllerDemo/GistsViewController.swift

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -13,23 +13,23 @@ class GistsViewController: UITableViewController {
1313

1414
class func instantiateFromStoryboard() -> GistsViewController {
1515
let storyboard = UIStoryboard(name: "MenuViewController", bundle: nil)
16-
return storyboard.instantiateViewControllerWithIdentifier(String(self)) as! GistsViewController
16+
return storyboard.instantiateViewController(withIdentifier: String(describing: self)) as! GistsViewController
1717
}
1818

1919
// MARK: - Lifecycle
2020

2121
override func viewDidLoad() {
2222
super.viewDidLoad()
2323

24-
let url = NSURL(string: "https://api.github.com/gists/public")
25-
let request = NSURLRequest(URL: url!)
26-
let session = NSURLSession(configuration: NSURLSessionConfiguration.defaultSessionConfiguration())
24+
let url = URL(string: "https://api.github.com/gists/public")
25+
let request = URLRequest(url: url!)
26+
let session = URLSession(configuration: URLSessionConfiguration.default)
2727

28-
let task = session.dataTaskWithRequest(request) { [weak self] data, response, error in
29-
let result = try? NSJSONSerialization.JSONObjectWithData(data!, options: .AllowFragments) as! [[String: AnyObject]]
28+
let task = session.dataTask(with: request) { [weak self] data, response, error in
29+
let result = try? JSONSerialization.jsonObject(with: data!, options: .allowFragments) as! [[String: AnyObject]]
3030
self?.gists = result ?? []
3131

32-
dispatch_async(dispatch_get_main_queue(), { () -> Void in
32+
DispatchQueue.main.async(execute: { () -> Void in
3333
self?.tableView.reloadData()
3434
})
3535
}
@@ -40,21 +40,21 @@ class GistsViewController: UITableViewController {
4040
extension GistsViewController {
4141
// MARK: - UITableViewDataSource
4242

43-
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
43+
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
4444
return gists.count
4545
}
4646

4747
// MARK: - UITableViewDelegate
4848

49-
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
50-
let cell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath)
49+
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
50+
let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath)
5151

52-
let gist = gists[indexPath.row]
52+
let gist = gists[(indexPath as NSIndexPath).row]
5353
cell.textLabel?.text = gist["description"] as? String
5454
return cell
5555
}
5656

57-
override func tableView(tableView: UITableView, canEditRowAtIndexPath indexPath: NSIndexPath) -> Bool {
57+
override func tableView(_ tableView: UITableView, canEditRowAt indexPath: IndexPath) -> Bool {
5858
return true
5959
}
6060
}

Example/PagingMenuControllerDemo/OrganizationsViewController.swift

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -13,23 +13,23 @@ class OrganizationsViewController: UITableViewController {
1313

1414
class func instantiateFromStoryboard() -> OrganizationsViewController {
1515
let storyboard = UIStoryboard(name: "MenuViewController", bundle: nil)
16-
return storyboard.instantiateViewControllerWithIdentifier(String(self)) as! OrganizationsViewController
16+
return storyboard.instantiateViewController(withIdentifier: String(describing: self)) as! OrganizationsViewController
1717
}
1818

1919
// MARK: - Lifecycle
2020

2121
override func viewDidLoad() {
2222
super.viewDidLoad()
2323

24-
let url = NSURL(string: "https://api.github.com/organizations")
25-
let request = NSURLRequest(URL: url!)
26-
let session = NSURLSession(configuration: NSURLSessionConfiguration.defaultSessionConfiguration())
24+
let url = URL(string: "https://api.github.com/organizations")
25+
let request = URLRequest(url: url!)
26+
let session = URLSession(configuration: URLSessionConfiguration.default)
2727

28-
let task = session.dataTaskWithRequest(request) { [weak self] data, response, error in
29-
let result = try? NSJSONSerialization.JSONObjectWithData(data!, options: .AllowFragments) as! [[String: AnyObject]]
28+
let task = session.dataTask(with: request) { [weak self] data, response, error in
29+
let result = try? JSONSerialization.jsonObject(with: data!, options: .allowFragments) as! [[String: AnyObject]]
3030
self?.organizations = result ?? []
3131

32-
dispatch_async(dispatch_get_main_queue(), { () -> Void in
32+
DispatchQueue.main.async(execute: { () -> Void in
3333
self?.tableView.reloadData()
3434
})
3535
}
@@ -40,21 +40,21 @@ class OrganizationsViewController: UITableViewController {
4040
extension OrganizationsViewController {
4141
// MARK: - UITableViewDataSource
4242

43-
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
43+
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
4444
return organizations.count
4545
}
4646

4747
// MARK: - UITableViewDelegate
4848

49-
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
50-
let cell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath)
49+
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
50+
let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath)
5151

52-
let organization = organizations[indexPath.row]
52+
let organization = organizations[(indexPath as NSIndexPath).row]
5353
cell.textLabel?.text = organization["login"] as? String
5454
return cell
5555
}
5656

57-
override func tableView(tableView: UITableView, canEditRowAtIndexPath indexPath: NSIndexPath) -> Bool {
57+
override func tableView(_ tableView: UITableView, canEditRowAt indexPath: IndexPath) -> Bool {
5858
return true
5959
}
60-
}
60+
}

Example/PagingMenuControllerDemo/PagingMenuControllerOptions.swift

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -24,15 +24,15 @@ struct MenuItemOrganization: MenuItemViewCustomizable {}
2424

2525
struct PagingMenuOptions1: PagingMenuControllerCustomizable {
2626
var componentType: ComponentType {
27-
return .All(menuOptions: MenuOptions(), pagingControllers: pagingControllers)
27+
return .all(menuOptions: MenuOptions(), pagingControllers: pagingControllers)
2828
}
2929

3030
struct MenuOptions: MenuViewCustomizable {
3131
var displayMode: MenuDisplayMode {
32-
return .Standard(widthMode: .Flexible, centerItem: false, scrollingMode: .PagingEnabled)
32+
return .standard(widthMode: .flexible, centerItem: false, scrollingMode: .pagingEnabled)
3333
}
3434
var focusMode: MenuFocusMode {
35-
return .None
35+
return .none
3636
}
3737
var height: CGFloat {
3838
return 60
@@ -45,44 +45,44 @@ struct PagingMenuOptions1: PagingMenuControllerCustomizable {
4545
struct MenuItemUsers: MenuItemViewCustomizable {
4646
var displayMode: MenuItemDisplayMode {
4747
let title = MenuItemText(text: "Menu")
48-
let description = MenuItemText(text: String(self))
49-
return .MultilineText(title: title, description: description)
48+
let description = MenuItemText(text: String(describing: self))
49+
return .multilineText(title: title, description: description)
5050
}
5151
}
5252
struct MenuItemRepository: MenuItemViewCustomizable {
5353
var displayMode: MenuItemDisplayMode {
5454
let title = MenuItemText(text: "Menu")
55-
let description = MenuItemText(text: String(self))
56-
return .MultilineText(title: title, description: description)
55+
let description = MenuItemText(text: String(describing: self))
56+
return .multilineText(title: title, description: description)
5757
}
5858
}
5959
struct MenuItemGists: MenuItemViewCustomizable {
6060
var displayMode: MenuItemDisplayMode {
6161
let title = MenuItemText(text: "Menu")
62-
let description = MenuItemText(text: String(self))
63-
return .MultilineText(title: title, description: description)
62+
let description = MenuItemText(text: String(describing: self))
63+
return .multilineText(title: title, description: description)
6464
}
6565
}
6666
struct MenuItemOrganization: MenuItemViewCustomizable {
6767
var displayMode: MenuItemDisplayMode {
6868
let title = MenuItemText(text: "Menu")
69-
let description = MenuItemText(text: String(self))
70-
return .MultilineText(title: title, description: description)
69+
let description = MenuItemText(text: String(describing: self))
70+
return .multilineText(title: title, description: description)
7171
}
7272
}
7373
}
7474

7575
struct PagingMenuOptions2: PagingMenuControllerCustomizable {
7676
var componentType: ComponentType {
77-
return .All(menuOptions: MenuOptions(), pagingControllers: pagingControllers)
77+
return .all(menuOptions: MenuOptions(), pagingControllers: pagingControllers)
7878
}
7979
var menuControllerSet: MenuControllerSet {
80-
return .Single
80+
return .single
8181
}
8282

8383
struct MenuOptions: MenuViewCustomizable {
8484
var displayMode: MenuDisplayMode {
85-
return .SegmentedControl
85+
return .segmentedControl
8686
}
8787
var itemsOptions: [MenuItemViewCustomizable] {
8888
return [MenuItemUsers(), MenuItemRepository(), MenuItemGists(), MenuItemOrganization()]
@@ -92,15 +92,15 @@ struct PagingMenuOptions2: PagingMenuControllerCustomizable {
9292

9393
struct PagingMenuOptions3: PagingMenuControllerCustomizable {
9494
var componentType: ComponentType {
95-
return .All(menuOptions: MenuOptions(), pagingControllers: pagingControllers)
95+
return .all(menuOptions: MenuOptions(), pagingControllers: pagingControllers)
9696
}
9797
var lazyLoadingPage: LazyLoadingPage {
98-
return .Three
98+
return .three
9999
}
100100

101101
struct MenuOptions: MenuViewCustomizable {
102102
var displayMode: MenuDisplayMode {
103-
return .Infinite(widthMode: .Fixed(width: 80), scrollingMode: .ScrollEnabled)
103+
return .infinite(widthMode: .fixed(width: 80), scrollingMode: .scrollEnabled)
104104
}
105105
var itemsOptions: [MenuItemViewCustomizable] {
106106
return [MenuItemUsers(), MenuItemRepository(), MenuItemGists(), MenuItemOrganization()]
@@ -110,15 +110,15 @@ struct PagingMenuOptions3: PagingMenuControllerCustomizable {
110110

111111
struct PagingMenuOptions4: PagingMenuControllerCustomizable {
112112
var componentType: ComponentType {
113-
return .MenuView(menuOptions: MenuOptions())
113+
return .menuView(menuOptions: MenuOptions())
114114
}
115115

116116
struct MenuOptions: MenuViewCustomizable {
117117
var displayMode: MenuDisplayMode {
118-
return .SegmentedControl
118+
return .segmentedControl
119119
}
120120
var focusMode: MenuFocusMode {
121-
return .Underline(height: 3, color: UIColor.blueColor(), horizontalPadding: 10, verticalPadding: 0)
121+
return .underline(height: 3, color: UIColor.blue, horizontalPadding: 10, verticalPadding: 0)
122122
}
123123
var itemsOptions: [MenuItemViewCustomizable] {
124124
return [MenuItemUsers(), MenuItemRepository(), MenuItemGists(), MenuItemOrganization()]
@@ -128,15 +128,15 @@ struct PagingMenuOptions4: PagingMenuControllerCustomizable {
128128

129129
struct PagingMenuOptions5: PagingMenuControllerCustomizable {
130130
var componentType: ComponentType {
131-
return .MenuView(menuOptions: MenuOptions())
131+
return .menuView(menuOptions: MenuOptions())
132132
}
133133

134134
struct MenuOptions: MenuViewCustomizable {
135135
var displayMode: MenuDisplayMode {
136-
return .Infinite(widthMode: .Flexible, scrollingMode: .PagingEnabled)
136+
return .infinite(widthMode: .flexible, scrollingMode: .pagingEnabled)
137137
}
138138
var focusMode: MenuFocusMode {
139-
return .RoundRect(radius: 12, horizontalPadding: 8, verticalPadding: 8, selectedColor: UIColor.lightGrayColor())
139+
return .roundRect(radius: 12, horizontalPadding: 8, verticalPadding: 8, selectedColor: UIColor.lightGray)
140140
}
141141
var itemsOptions: [MenuItemViewCustomizable] {
142142
return [MenuItemUsers(), MenuItemRepository(), MenuItemGists(), MenuItemOrganization()]
@@ -146,9 +146,9 @@ struct PagingMenuOptions5: PagingMenuControllerCustomizable {
146146

147147
struct PagingMenuOptions6: PagingMenuControllerCustomizable {
148148
var componentType: ComponentType {
149-
return .PagingController(pagingControllers: pagingControllers)
149+
return .pagingController(pagingControllers: pagingControllers)
150150
}
151151
var defaultPage: Int {
152152
return 1
153153
}
154-
}
154+
}

0 commit comments

Comments
 (0)