diff --git a/AsyncUITableview.xcodeproj/project.pbxproj b/AsyncUITableview.xcodeproj/project.pbxproj
index dbc4f26..3e90fd3 100644
--- a/AsyncUITableview.xcodeproj/project.pbxproj
+++ b/AsyncUITableview.xcodeproj/project.pbxproj
@@ -211,7 +211,9 @@
8DA65D6C198E3F71005EE11F /* Project object */ = {
isa = PBXProject;
attributes = {
- LastUpgradeCheck = 0600;
+ LastSwiftMigration = 0700;
+ LastSwiftUpdateCheck = 0700;
+ LastUpgradeCheck = 0700;
ORGANIZATIONNAME = "Jigar M";
TargetAttributes = {
8DA65D73198E3F71005EE11F = {
@@ -340,6 +342,7 @@
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
COPY_PHASE_STRIP = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
+ ENABLE_TESTABILITY = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_DYNAMIC_NO_PIC = NO;
GCC_OPTIMIZATION_LEVEL = 0;
@@ -406,6 +409,7 @@
INFOPLIST_FILE = AsyncUITableview/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = com.jigarm.InfiniteScroll;
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Debug;
@@ -419,6 +423,7 @@
INFOPLIST_FILE = AsyncUITableview/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = com.jigarm.InfiniteScroll;
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Release;
@@ -438,6 +443,7 @@
INFOPLIST_FILE = AsyncUITableviewTests/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
METAL_ENABLE_DEBUG_INFO = YES;
+ PRODUCT_BUNDLE_IDENTIFIER = com.jigarm.InfiniteScroll;
PRODUCT_NAME = "$(TARGET_NAME)";
TEST_HOST = "$(BUNDLE_LOADER)";
};
@@ -454,6 +460,7 @@
INFOPLIST_FILE = AsyncUITableviewTests/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
METAL_ENABLE_DEBUG_INFO = NO;
+ PRODUCT_BUNDLE_IDENTIFIER = com.jigarm.InfiniteScroll;
PRODUCT_NAME = "$(TARGET_NAME)";
TEST_HOST = "$(BUNDLE_LOADER)";
};
diff --git a/AsyncUITableview.xcodeproj/xcuserdata/yurijmi.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist b/AsyncUITableview.xcodeproj/xcuserdata/yurijmi.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
new file mode 100644
index 0000000..fe2b454
--- /dev/null
+++ b/AsyncUITableview.xcodeproj/xcuserdata/yurijmi.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
@@ -0,0 +1,5 @@
+
+
+
diff --git a/AsyncUITableview.xcodeproj/xcuserdata/yurijmi.xcuserdatad/xcschemes/AsyncUITableview.xcscheme b/AsyncUITableview.xcodeproj/xcuserdata/yurijmi.xcuserdatad/xcschemes/AsyncUITableview.xcscheme
new file mode 100644
index 0000000..c56555c
--- /dev/null
+++ b/AsyncUITableview.xcodeproj/xcuserdata/yurijmi.xcuserdatad/xcschemes/AsyncUITableview.xcscheme
@@ -0,0 +1,101 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/AsyncUITableview.xcodeproj/xcuserdata/yurijmi.xcuserdatad/xcschemes/xcschememanagement.plist b/AsyncUITableview.xcodeproj/xcuserdata/yurijmi.xcuserdatad/xcschemes/xcschememanagement.plist
new file mode 100644
index 0000000..db41387
--- /dev/null
+++ b/AsyncUITableview.xcodeproj/xcuserdata/yurijmi.xcuserdatad/xcschemes/xcschememanagement.plist
@@ -0,0 +1,27 @@
+
+
+
+
+ SchemeUserState
+
+ AsyncUITableview.xcscheme
+
+ orderHint
+ 0
+
+
+ SuppressBuildableAutocreation
+
+ 8DA65D73198E3F71005EE11F
+
+ primary
+
+
+ 8DA65D85198E3F71005EE11F
+
+ primary
+
+
+
+
+
diff --git a/AsyncUITableview/AppDelegate.swift b/AsyncUITableview/AppDelegate.swift
index deea2b6..12f959f 100644
--- a/AsyncUITableview/AppDelegate.swift
+++ b/AsyncUITableview/AppDelegate.swift
@@ -12,9 +12,8 @@ import UIKit
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
-
-
- func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: NSDictionary?) -> Bool {
+
+ func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject : AnyObject]?) -> Bool {
// Override point for customization after application launch.
return true
}
diff --git a/AsyncUITableview/Base.lproj/Main.storyboard b/AsyncUITableview/Base.lproj/Main.storyboard
index cc72477..1471e31 100644
--- a/AsyncUITableview/Base.lproj/Main.storyboard
+++ b/AsyncUITableview/Base.lproj/Main.storyboard
@@ -1,45 +1,55 @@
-
+
-
+
+
-
+
+
-
+
+
+
-
+
+
+
+
+
+
@@ -72,6 +82,7 @@
+
diff --git a/AsyncUITableview/Info.plist b/AsyncUITableview/Info.plist
index cc0cf01..40a3f08 100644
--- a/AsyncUITableview/Info.plist
+++ b/AsyncUITableview/Info.plist
@@ -7,7 +7,7 @@
CFBundleExecutable
${EXECUTABLE_NAME}
CFBundleIdentifier
- com.jigarm.InfiniteScroll
+ $(PRODUCT_BUNDLE_IDENTIFIER)
CFBundleInfoDictionaryVersion
6.0
CFBundleName
diff --git a/AsyncUITableview/MyTableViewCell.swift b/AsyncUITableview/MyTableViewCell.swift
index a5b6bce..20a60ff 100644
--- a/AsyncUITableview/MyTableViewCell.swift
+++ b/AsyncUITableview/MyTableViewCell.swift
@@ -10,6 +10,6 @@ import UIKit
class MyTableViewCell: UITableViewCell {
- @IBOutlet var img : UIImageView
- @IBOutlet var lbl : UILabel
+ @IBOutlet var img : UIImageView!
+ @IBOutlet var lbl : UILabel!
}
diff --git a/AsyncUITableview/MyTableViewController.swift b/AsyncUITableview/MyTableViewController.swift
index db24810..f7cd143 100644
--- a/AsyncUITableview/MyTableViewController.swift
+++ b/AsyncUITableview/MyTableViewController.swift
@@ -12,9 +12,9 @@ import Foundation
class MyTableViewController: UITableViewController {
let PageSize = 20
- var items:MyItem[] = []
+ var items = [MyItem]()
var isLoading = false
- @IBOutlet var MyFooterView : UIView
+ @IBOutlet var MyFooterView : UIView!
override func viewDidLoad() {
super.viewDidLoad()
@@ -25,7 +25,7 @@ class MyTableViewController: UITableViewController {
return From + Int(arc4random_uniform(UInt32(To - From + 1)))
}
- class MyItem : Printable {
+ class MyItem : CustomStringConvertible {
let name:String!
init(name:String) {
@@ -38,7 +38,7 @@ class MyTableViewController: UITableViewController {
}
class DataManager {
- func requestData(offset:Int, size:Int, listener:(MyItem[]) -> ()) {
+ func requestData(offset:Int, size:Int, listener:([MyItem]) -> ()) {
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0)) {
//Sleep the Process
@@ -47,12 +47,12 @@ class MyTableViewController: UITableViewController {
}
//generate items
- var arr:MyItem[] = []
+ var arr = [MyItem]()
for i in offset...(offset + size) {
- arr += MyItem(name: "Item " + String(i))
+ arr.append(MyItem(name: "Item " + String(i)))
}
- println(arr)
+ print(arr)
//call listener in main thread
dispatch_async(dispatch_get_main_queue()) {
@@ -65,11 +65,11 @@ class MyTableViewController: UITableViewController {
func loadSegment(offset:Int, size:Int) {
if (!self.isLoading) {
self.isLoading = true
- self.MyFooterView.hidden = (offset==0) ? true : false
+ self.MyFooterView!.hidden = (offset==0) ? true : false
let manager = DataManager()
manager.requestData(offset, size: size,
- listener: {(items:MyTableViewController.MyItem[]) -> () in
+ listener: {(items:[MyTableViewController.MyItem]) -> () in
/*
//You can also Reload all the Data using below code.
@@ -77,7 +77,7 @@ class MyTableViewController: UITableViewController {
//Instead of Reloading Table data, you can add 20 rows when table scroll is at end positoon
for item in items {
- self.items += item
+ self.items.append(item)
}
self.tableView.reloadData()
self.isLoading = false
@@ -90,9 +90,9 @@ class MyTableViewController: UITableViewController {
Add Rows at indexpath
*/
for item in items {
- var row = self.items.count
- var indexPath = NSIndexPath(forRow:row,inSection:0)
- self.items += item
+ let row = self.items.count
+ let indexPath = NSIndexPath(forRow:row,inSection:0)
+ self.items.append(item)
self.tableView?.insertRowsAtIndexPaths([indexPath], withRowAnimation: UITableViewRowAnimation.Fade)
}
self.isLoading = false
@@ -102,9 +102,9 @@ class MyTableViewController: UITableViewController {
}
}
- override func scrollViewDidScroll(scrollView: UIScrollView!) {
- var offset = scrollView.contentOffset.y
- var maxOffset = scrollView.contentSize.height - scrollView.frame.size.height
+ override func scrollViewDidScroll(scrollView: UIScrollView) {
+ let offset = scrollView.contentOffset.y
+ let maxOffset = scrollView.contentSize.height - scrollView.frame.size.height
if (maxOffset - offset) <= 40 {
loadSegment(items.count, size: PageSize-1)
}
@@ -117,16 +117,16 @@ class MyTableViewController: UITableViewController {
override func tableView(tableView: UITableView?, numberOfRowsInSection section: Int) -> Int {
return items.count
}
- override func tableView(tableView: UITableView!, heightForRowAtIndexPath indexPath: NSIndexPath!) -> CGFloat {
+ override func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
return 85;
}
- override func tableView(tableView: UITableView!, cellForRowAtIndexPath indexPath: NSIndexPath!) -> UITableViewCell? {
- let cell : MyTableViewCell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath) as MyTableViewCell
-
+ override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
+ let cell : MyTableViewCell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath) as! MyTableViewCell
+
//Configure the cell...
- var imagename = UTILITY.getRandomNumberBetween(1, To: 10).description + ".png"
- cell.img.image = UIImage(named:imagename) as UIImage
- cell.lbl.text = items[indexPath.row].name as String
+ let imagename = UTILITY.getRandomNumberBetween(1, To: 10).description + ".png"
+ cell.img.image = UIImage(named:imagename)
+ cell.lbl.text = items[indexPath.row].name
return cell
}
}
diff --git a/AsyncUITableviewTests/Info.plist b/AsyncUITableviewTests/Info.plist
index cd161ce..ca8b878 100644
--- a/AsyncUITableviewTests/Info.plist
+++ b/AsyncUITableviewTests/Info.plist
@@ -7,9 +7,7 @@
CFBundleExecutable
${EXECUTABLE_NAME}
CFBundleIdentifier
- com.jigarm.InfiniteScroll
- LSApplicationCategoryType
-
+ $(PRODUCT_BUNDLE_IDENTIFIER)
CFBundleInfoDictionaryVersion
6.0
CFBundleName
@@ -22,5 +20,7 @@
????
CFBundleVersion
1
+ LSApplicationCategoryType
+
diff --git a/README.md b/README.md
index 80da43d..1ad211c 100644
--- a/README.md
+++ b/README.md
@@ -38,7 +38,7 @@ Infinite Scroll Indicator :
============================
# Require
-OSX 10.9.3 and Xcode 6.x (beta for now)
+OSX 10.10+ and Xcode 7+
# Swift
===========