odel iew ontroller MVC M V C ontroller C iew V tap! buttonPressed: markCompleted didChangeValueForKey: setImage: iew V setNumCompleted: Monday, February 13, 12
odel iew ontroller MVC M V C ontroller C iew V tap! buttonPressed: markCompleted addObserver:forKeyPath:options:context: removeObserver:forKeyPath: didChangeValueForKey: setImage: iew V setNumCompleted: Monday, February 13, 12
CAVE CODING • Headphones on • Music (hopefully not Skrillex) • Dark, lit only by your screen • Welcome mat says “Hic sunt dracones!” Monday, February 13, 12
PAIR PROGRAMMING • Two people, One computer, Two Keyboards, One Display • Music (hopefully not Skrillex)... on ambient • Natural light • Other pairs in shouting range Monday, February 13, 12
SO YOU LIKE TO TALK SHOP? • Go to conferences, now • There’s usually a student price • Go to User Groups (see: NSCoder), now • Read blogs, now • Write blogs, now • Use twitter, now Monday, February 13, 12
UIAUTOMATION function assertElementPresent(el, el_name) { !el_name = el_name ? el_name : ''; !if (el.isValid()) { !! return UIALogger.logPass("Element " + el_name + " is present"); !} else { !! return UIALogger.logFail("Element " + el_name + " is not present"); !} } var target = UIATarget.localTarget(); var window = target.frontMostApp().mainWindow(); var repository_list = window.tableViews().firstWithName("Repositories"); assertElementPresent(repository_list.cells(), "repository cells"); var latest_repo = repository_list.cells()[0]; window.navigationBar().leftButton().tap(); // When I tap the first repo latest_repo.tap(); // Then I should see the list of builds var build_list = window.tableViews().firstWithName("Builds"); assertElementPresent(build_list.cells()); Monday, February 13, 12
FRANK Feature: Drive our SampleNavApp using Cucumber Scenario: Plus button adds timestamp Given the app is launched When I touch the Plus button Then I should see a table containing a timestamp Given /^the app is launched$/ do launch_app_in_simulator wait_for_frank_to_come_up end When /^I touch the Plus button$/ do touch( "navigationButton marked:'Add'" ) end Monday, February 13, 12
SO WHY AM I REALLY HERE? • Madison is actually a really cool town • Please consider putting happiness ahead of $$ and fame • ?- CausesHappiness(BigCompany). • No. • The iOS scene here is just getting started Monday, February 13, 12