I made a fairly simple iOS app (Single View template, iPhone, Swift) that has a 
UITableView. I've got it all hooked up, and running the project (in the 
simulator) shows the table view, but only 13 (out of 20) rows are ever shown.

here's the deal:

ViewController.swift
--------------------
class ViewController: UIViewController, UITableViewDelegate, UITableViewSource
{
private let dwarves = ["Sleepy",
                       "Sneezy",
                       "Bashful",
                       "Happy,"
                       "Doc",
                       "Grumpy",
                       "Dopey",
                       "Thorin",
                       "Dorin",
                       "Nori",
                       "Ori",
                       "Balin",
                       "Dwalin",
                       "Fili",  // From here on, these might as well not exist 
(index >= 13)
                       "Kili",
                       "Oin",
                       "Gloin",
                       "Bifur",
                       "Bofur",
                       "Bombur"
                       ]
let simpleTableIdentifier = "SimpleTableIdentifier"

...

// MARK: UITableViewDataSource/UITableViewDelegate methods
  func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> 
Int
  {
  return dwarves.count
  }

  func tableView(tableView:UITableView, cellForRowAtIndexPath indexPath: 
NSIndexPath) -> UITableViewCell
  {
  var cell = tableView.dequeueReusableCellWithIdentifier(simpleTableIdentifier) 
as? UITableViewCell
  if (cell == nil)
    {
    cell = UITableViewCell(style: UITableViewCellStyle.Default, 
reuseIdentifier: simpleTableIdentifier)
    {
  cell!.textLabel?.text = dwarves[indexPath.row]
  return cell
  }
}

When run, only the first 13 names are shown in the table view; everything from 
"Fili" on does not show up. I would expect either:

1) a syntax error in the array declaration (which should be caught by Xcode)
2) show all the items in the array, or
3) show none of them.

Is there a (hidden) limit in the simulator that only 13 rows can be shown in a 
UITableView? If not, can anyone else replicate this problem?

Finally, how do I call NSLog() from Swift, and have it print an object? In 
ObjC, it would be:

NSLog(@"My object: %@\n\n",myObject);

where myObject resides in MyObject.m and declared in MyObject.h and implements 
-(NSString *)description – in Swift, I would just have a .swift file, but how 
would I print it (myObject variable) to the (debug) console at runtime? What 
about a Swift "String" type?



_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to