Building a (Core) Foundation. Rob Napier
|
|
- Ashley Webb
- 6 years ago
- Views:
Transcription
1 Building a (Core) Foundation Rob Napier
2 A little background Mac OS X since 10.4 iphoneos since release Cisco Jabber, The Daily, RNCryptor Focus on low-level Today: Mac developer for...
3
4 KACE
5 NAPIER KUMAR egory COMPUTERS/PROGRAMMING/SOFTWARE DEVELOPMENT ing Pushing the Limits is your total guide to creating standout apps for the ipad, iphone, and ipod Touch. Veteran mobile developers Mugunth Kumar take you beyond the basics to cover advanced topics you won t find in most other ios development books. From of the Core Foundation API, to maximizing speed and performance with Grand Central Dispatch, to storyboarding your UI flow, they y step through all the knotty stuff you need to master to program fun, fully-functional, high-performance apps. : with the Objective-C Runtime g objects and modifying classes multitasking multiple platforms mal use of Security Services azing animations Using advanced text layout with Core Text Creating complex reusable table view layouts Using blocks to implement functional programming Creating high performance apps for any RESTful web service Implementing superfast caching for regions with spotty network connectivity Optimizing cash flow with In-App Purchases dequate mobile apps when you can create extraordinary ones? Get ios 5 Programming Pushing the Limits and expand your izons. wiley.com/go/ptl/ios5programming to download code files. KUMAR is an independent ios consultant working on a variety of ios apps, including some for Goodyear and Mastercard. Two ve reached the Top 5 apps in the Singapore App Store and have been featured in various magazines and newspapers. He writes n his blog, blog.mugunthkumar.com. Jubb Price 29.99//US$44.99/CAN$53.99 PUSHING THE LIMITS R has been developing for ios platforms since the first SDK release, working on products such as The Daily and Cisco Mobile. contributor to Stack Overflow and writes the Cocoaphony blog (cocoaphony.com). ios 5 PROGRAMMING LD AMAZING MOBILE APPS WITH THE ios SDK ROB NAPIER MUGUNTH KUMAR ios 5 PROGRAMMING PUSHING THE LIMITS Advanced Application Development for Apple iphone, ipad, and ipod Touch Chapter 19
6 Core Foundation? Data structures for all those powerful frameworks with Core in their name. The awesomeness of Objective-C. The speed of C.
7 Where are we?* UIKit Foundation Core Foundation Core OS / Darwin *Simplified, but close enough
8 Who cares? You want to use those powerful frameworks, right? Did I mention, it can do a lot of things Cocoa can t? And C is fast. Yes, very fast.
9 The real types Introspection Strings Collections Toll-free Bridging ARC The Path Memory management
10 The real types Introspection Strings Collections Toll-free Bridging ARC The Path Memory management
11 Real Types typedef void * CFTypeRef; typedef const struct CFString * CFStringRef; typedef struct CFString * CFMutableStringRef;
12 The real types Introspection Strings Collections Toll-free Bridging ARC The Path Memory management
13 Memory Management If you Create or Copy an object, you are an owner If you do not Create or Copy an object, you are not an owner. If you want to prevent the object from being destroyed, you must become an owner by calling CFRetain() If you are an owner of an object, you must call CFRelease() when you are done with it
14 CFRelease!= -release CFRelease makes us cry CFRelease(NULL) crashes There are a dozen wrappers on CFRelease() that fix that You will certainly make your own And call them SAFE_RELEASE() like everyone else
15 autorelease? There is no autorelease :(
16 Allocators How you want your memory? CFCreateBlah(Allocator, param, param) 99.9% of the time you want NULL Sometimes you want kcfallocatormalloc for memory that was created with malloc() Occasionally you want kcfallocatornull to do nothing Everything else is incredibly obscure
17 The real types Introspection Strings Collections Toll-free Bridging ARC The Path Memory management
18 Introspection CFGetTypeID() <=> CFArrayGetTypeID() CFCopyDescription() CFShow() CFShowStr()
19 The real types Introspection Strings Collections Toll-free Bridging ARC The Path Memory management
20 Strings Constants: CFSTR() CFStringRef foo = CFSTR( foo ); CFStringCreateWithCString()
21 Convert CFStringRef to cstring char * MYCFStringCopyUTF8String(CFStringRef astring) { if (astring == NULL) { return NULL; } CFIndex length = CFStringGetLength(aString); CFIndex maxsize = CFStringGetMaximumSizeForEncoding(length, kcfstringencodingutf8); char *buffer = (char *)malloc(maxsize); if (CFStringGetCString(aString, buffer, maxsize, kcfstringencodingutf8)) { return buffer; } } free(buffer); return NULL;
22 Convert non-const cstring to CStringRef Consider the ownership: const char *cstr = Hello ; char *bytes = malloc(strlen(cstr) + 1); strcpy(bytes, cstr); CFStringRef str = CFStringCreateWithCStringNoCopy(NULL, bytes, kcfstringencodingutf8, kcfallocatormalloc); CFShow(str); CFRelease(str);
23 The real types Introspection Strings Collections Toll-free Bridging ARC The Path Memory management
24 CFArray CFStringRef strings[3] = { CFSTR( One ), CFSTR( Two ), CFSTR( Three ) }; CFArrayRef array = CFArrayCreate(NULL, (void *)strings, 3, &kcftypearraycallbacks); CFShow(array); CFRelease(array); CFMutableArrayRef array = CFArrayCreateMutable(NULL, 0, &kcftypearraycallbacks);
25 CFDictionary #define kcount 3 CFStringRef keys[kcount] = { CFSTR( One ), CFSTR( Two ), CFSTR( Three ) }; CFStringRef values[kcount] = { CFSTR( Foo ), CFSTR( Bar ), CFSTR( Baz ) }; CFDictionaryRef dict = CFDictionaryCreate(NULL, (void *)keys, (void *)values, kcount, &kcftypedictionarykeycallbacks, &kcftypedictionaryvaluecallbacks);
26 Others CFTree CFBinaryHeap CFBitVector
27 Callbacks retain release copydescription equal hash
28 Non-retaining CFArray CFArrayCallBacks nrcallbacks = kcftypearraycallbacks; nrcallbacks.retain = NULL; nrcallbacks.release = NULL; CFMutableArrayRef nrarray = CFArrayCreateMutable(NULL, 0, &nrcallbacks); CFStringRef string = CFStringCreateWithCString(NULL, Stuff, kcfstringencodingutf8); CFArrayAppendValue(nrArray, string); CFRelease(nrArray); CFRelease(string);
29 The real types Introspection Strings Collections Toll-free Bridging ARC The Path Memory management
30 Toll-free Bridging NSArray *nsarray = [NSArray arraywithobject:@ Foo ]; printf( %ld\n, CFArrayGetCount(( bridge CFArrayRef)nsArray)); CFMutableArrayRef cfarray = CFArrayCreateMutable(NULL, 0, &kcftypearraycallbacks); CFArrayAppendValue(cfArray, CFSTR( Foo )); NSLog(@ %ld, [( bridge id)cfarray count]); CFRelease(cfArray);
31 How does that even work? ObjC: CF: typedef struct objc_object { Class isa; } *id; typedef struct CFRuntimeBase { uintptr_t _cfisa... }
32 The CF Magic CFIndex CFStringGetLength(CFStringRef str) { CF_OBJC_FUNCDISPATCH0( kcfstringtypeid, CFIndex, str, length ); CFAssertIsString(str); return CFStrLength(str) }
33 The real types Introspection Strings Collections Toll-free Bridging ARC The Path Memory management
34 Converting to ARC - (NSString *)firstname { CFStringRef cfstring = CFStringCreate...; return CFBridgingRelease(cfString); } CFStringRef cfstr = CFBridgingRetain([nsString copy]);... CFRelease(cfStr);
35 Bringing It Home Core Foundation is your friend 90% of Core Foundation is Foundation minus autorelease (and minus ARC) Core Foundation, as a rule, is more flexible and faster than the ObjC equivalent Go Forth and Core!
36
CS193P - Lecture 13. iphone Application Development. Address Book - Putting People in Your App
CS193P - Lecture 13 iphone Application Development Address Book - Putting People in Your App 1 Announcements Paparazzi 3 due tomorrow at 11:59PM Paparazzi 4 (last assignment!) due next Wednesday 2 Final
More informationPushing the Limits. ios 6 Programming TOUCH ADVANCED APPLICATION DEVELOPMENT FOR APPLE IPHONE, IPAD, AND IPOD WILEY. Rob Napier and Mugunth Kumar
ios 6 Programming Pushing the Limits ADVANCED APPLICATION DEVELOPMENT FOR APPLE IPHONE, IPAD, AND IPOD TOUCH Rob Napier and Mugunth Kumar WILEY A John Wiley and Sons, Ltd, Publication Introduction 1 Who
More informationios Application Development Course Details
ios Application Development Course Details By Besant Technologies Course Name Category Venue ios Application Development Mobile Application Development Besant Technologies No.24, Nagendra Nagar, Velachery
More informationCross Platform Nearby Networking
Core OS #WWDC14 Cross Platform Nearby Networking Session 709 Demijan Klinc Software Engineer 2014 Apple Inc. All rights reserved. Redistribution or public display not permitted without written permission
More informationKevin van Vechten Core OS
Kevin van Vechten Core OS 2 3 Bill Bumgarner 4 (lambda (a) (add a d)) 10 timesrepeat:[pen turn:d; draw] z.each { val puts(val + d.to_s)} repeat(10, ^{ putc('0'+ d); }); 5 6 7 8 ^ 9 [myset objectspassingtest:
More informationOVERVIEW. Why learn ios programming? Share first-hand experience. Identify platform differences. Identify similarities with.net
OVERVIEW Why learn ios programming? Share first-hand experience. Identify platform differences. Identify similarities with.net Microsoft MVP for 4 years C#, WinForms, WPF, Silverlight Joined Cynergy about
More informationIntro to Native ios Development. Dave Koziol Arbormoon Software, Inc.
Intro to Native ios Development Dave Koziol Arbormoon Software, Inc. About Me Long time Apple Developer (20 WWDCs) Organizer Ann Arbor CocoaHeads President & ios Developer at Arbormoon Software Inc. Wunder
More informationCS193P - Lecture 3. iphone Application Development. Custom Classes Object Lifecycle Autorelease Properties
CS193P - Lecture 3 iphone Application Development Custom Classes Object Lifecycle Autorelease Properties 1 Announcements Assignments 1A and 1B due Wednesday 1/13 at 11:59 PM Enrolled Stanford students
More informationObject-Oriented Programming in Objective-C
In order to build the powerful, complex, and attractive apps that people want today, you need more complex tools than a keyboard and an empty file. In this section, you visit some of the concepts behind
More informationiphone App Basics iphone and ipod touch Development Fall 2009 Lecture 5
iphone App Basics iphone and ipod touch Development Fall 2009 Lecture 5 Questions? Announcements Assignment #1 due this evening by 11:59pm Remember, if you wish to use a free late you must email me before
More informationDesign Phase. Create a class Person. Determine the superclass. NSObject (in this case)
Design Phase Create a class Person Determine the superclass NSObject (in this case) 8 Design Phase Create a class Person Determine the superclass NSObject (in this case) What properties should it have?
More informationCSE 509: Computer Security
CSE 509: Computer Security Date: 2.16.2009 BUFFER OVERFLOWS: input data Server running a daemon Attacker Code The attacker sends data to the daemon process running at the server side and could thus trigger
More informationAnnouncement. Final Project Proposal Presentations and Updates
Announcement Start Final Project Pitches on Wednesday Presentation slides dues by Tuesday at 11:59 PM Email slides to cse438ta@gmail.com Extensible Networking Platform 1 1 - CSE 438 Mobile Application
More informationMobile Application Development
Mobile Application Development Lecture 13 Introduction to ObjectiveC Part II 2013/2014 Parma Università degli Studi di Parma Lecture Summary Object creation Memory management Automatic Reference Counting
More informationStanford CS193p. Developing Applications for iphone 4, ipod Touch, & ipad Fall Stanford CS193p Fall 2010
Developing Applications for iphone 4, ipod Touch, & ipad Today Blocks Language syntax for declaring a function on the fly. Grand Central Dispatch C API for leveraging blocks to make writing multithreaded
More informationios Developer s Guide Version 1.0
HealthyFROGS ios Developer s Guide ios Developer s Guide Version 1.0 Tuesday May 7, 2013 2012-2013 Computer Science Department, Texas Christian University - All Rights Reserved HealthyFROGS ios Developer
More informationObjective-C Runtime. Cocoa s Jewel in the Crown. NSConference Nicolas
Objective-C Runtime Cocoa s Jewel in the Crown NSConference 2011 Nicolas Seriot @nst021 [isa kindof:magic] 1. Objective-C 2. Recipes 3. Introspection 4. Debugging Objective-C Runtime OO, Smalltalk-like,
More informationData Management: Data Types & Collections
Property List Programming Guide Data Management: Data Types & Collections 2010-03-24 Apple Inc. 2010 Apple Inc. All rights reserved. No part of this publication may be reproduced, stored in a retrieval
More informationAddress Book for iphone
Address Book for iphone The people s framework Alexandre Aybes iphone Software Engineer 2 3 Address Book for iphone The people s framework Alexandre Aybes iphone Software Engineer 4 What We Will Cover
More informationCS193p Spring 2010 Thursday, April 29, 2010
CS193p Spring 2010 Announcements You should have received an e-mail by now If you received e-mail approving enrollment, but are not in Axess, do it! If you have any questions, please ask via e-mail or
More informationMonday, 1 November The ios System
The ios System System Overview System Overview System Overview System Overview System Overview System Overview Foundation Classes (Useful) Foundation Framework Value and collection classes User defaults
More informationCocoa. Last Week... Music 3SI: Introduction to Audio/Multimedia App. Programming. Today... Why Cocoa? Wikipedia - Cocoa
Music 3SI: Introduction to Audio/Multimedia App. Programming IDE (briefly) VST Plug-in Assignment 1 hints Last Week... Week #5-5/5/2006 CCRMA, Department of Music Stanford University 1 2 Today... Cocoa
More informationMemory Management: The Details
Lecture 10 Memory Management: The Details Sizing Up Memory Primitive Data Types Complex Data Types byte: char: short: basic value (8 bits) 1 byte 2 bytes Pointer: platform dependent 4 bytes on 32 bit machine
More informationPlaying & Recording Audio Audio Queue Services Recording - AQRecorder Class
Playing & Recording Audio Audio Queue Services Recording - AQRecorder Class 10 2010-2 1. AQRecorder 2. Classes & Resources 3. Class 4. AQRecorder Class 5. AQRecorder.h 6. Start Recording Flow 7. Stop Recording
More informationAudio Unit Properties Reference
Contents Audio Unit Properties Reference 4 Overview 4 Functions 5 AudioUnitDisplayTypeIsCubed 5 AudioUnitDisplayTypeIsCubeRoot 5 AudioUnitDisplayTypeIsExponential 6 AudioUnitDisplayTypeIsLogarithmic 6
More informationFinding Bugs Using Xcode Runtime Tools
Session Developer Tools #WWDC17 Finding Bugs Using Xcode Runtime Tools 406 Kuba Mracek, Program Analysis Engineer Vedant Kumar, Compiler Engineer 2017 Apple Inc. All rights reserved. Redistribution or
More informationCocoa Programming. David Chisnall. March 18,
March 18, 2010 http://cs.swan.ac.uk/~csdavec/papers/safariwebcast.pdf The Story So Far What is Cocoa? Why Cocoa? GNUstep Overview GNUstep Look and Feel A Brief History of Objective-C 1980: Smalltalk-80
More informationStanford CS193p. Developing Applications for iphone 4, ipod Touch, & ipad Spring Stanford CS193p Spring 2011
Developing Applications for iphone 4, ipod Touch, & ipad Today Dynamic Binding Introspection Foundation Framework Enumeration More Objective-C Allocating and Initializing objects Memory Management Demo
More informationCS 371L - Mobile Computing (ios) Dr. William C. Bulko. CS 371L Mobile Computing (ios) Introduction
CS 371L - Mobile Computing (ios) Dr. William C. Bulko CS 371L Mobile Computing (ios) Introduction 2014 The Evolution of Computing Mainframes Minicomputers - fridge-size PCs - desktop and deskside Laptops
More informationOperating System Services. User Services. System Operation Services. User Operating System Interface - CLI. A View of Operating System Services
Operating System Services One set of services for users The other set of services for system operations Operating Systems Structures Notice: This set of slides is based on the notes by Professor Perrone
More informationFour Components of a Computer System
Four Components of a Computer System Operating System Concepts Essentials 2nd Edition 1.1 Silberschatz, Galvin and Gagne 2013 Operating System Definition OS is a resource allocator Manages all resources
More informationCS193P - Lecture 16. iphone Application Development. Audio APIs Video Playback Displaying Web Content Settings
CS193P - Lecture 16 iphone Application Development Audio APIs Video Playback Displaying Web Content Settings 1 Today s Topics Audio APIs Video Playback Settings Bundles 2 Audio Playback 3 Uses for Audio
More informationWeek 5, continued. This is CS50. Harvard University. Fall Cheng Gong
This is CS50. Harvard University. Fall 2014. Cheng Gong Table of Contents News... 1 Buffer Overflow... 1 Malloc... 6 Linked Lists... 7 Searching... 13 Inserting... 16 Removing... 19 News Good news everyone!
More informationMachine-Level Programming V: Unions and Memory layout
Machine-Level Programming V: Unions and Memory layout Slides adapted from Bryant and O Hallaron Bryant and O Hallaron, Computer Systems: A Programmer s Perspective, Third Edition 1 FAQ Call conventions
More informationAdvanced Memory Analysis with Instruments. Daniel Delwood Performance Tools Engineer
Advanced Memory Analysis with Instruments Daniel Delwood Performance Tools Engineer 2 Memory Analysis What s the issue? Memory is critical to performance Limited resource Especially on iphone OS 3 4 Memory
More informationapplication components
What you need to know for Lab 1 code to publish workflow application components activities An activity is an application component that provides a screen with which users can interact in order to do something,
More informationXcode 6 and ios 8 What s New for Software Developers
Xcode 6 and ios 8 What s New for Software Developers August 2014 Norman McEntire! norman.mcentire@servin.com Slides and Video of this presentation will be posted on Tuesday Aug 26 here: http://servin.com!1
More informationGetting Started with Apple ios Development Link-OS SDK Objective-C
Getting Started with Apple ios Development Link-OS SDK Objective-C Overview This document describes the end to end process of designing, packaging, deploying and running an Apple iphone /ipod application
More informationCSE 124 Discussion (10/3) C/C++ Basics
CSE 124 Discussion (10/3) C/C++ Basics Topics - main() function - Compiling with gcc/makefile - Primitives - Structs/Enums - Function calls/loops - C++ Classes/stdtl - Pointers/Arrays - Memory allocation/freeing
More informationMaxime Defauw. Learning Swift
Maxime Defauw Learning Swift SAMPLE CHAPTERS 1 Introduction Begin at the beginning, the King said, very gravely, and go on till you come to the end: then stop. Lewis Carroll, Alice in Wonderland Hi and
More informationCOSC Software Engineering. Lecture 16: Managing Memory Managers
COSC345 2013 Software Engineering Lecture 16: Managing Memory Managers Outline Typical problems (from previous lectures) Memory leaks aren t just for (Objective) C Tracking malloc() calls Catching calls
More informationCOCOA WORKSHOP PART 1. Andreas Monitzer
COCOA WORKSHOP PART 1 Andreas Monitzer 2009-02-17 WORKSHOP SCHEDULE 1. Introduction, Foundation 2. GUI Programming 3. Hands-On 4. Advanced 2009-02-17 2009-02-19 2009-02-24 2009-02-26 STRUCTURE Introduction
More informationITP 342 Mobile App Dev. Animation
ITP 342 Mobile App Dev Animation Core Animation Introduced in Mac OS X Leopard Uses animatable "layers" built on OpenGL UIKit supports Core Animation out of the box Every UIView has a CALayer behind it
More informationThe C++ Object Lifecycle. EECS 211 Winter 2019
The C++ Object Lifecycle EECS 211 Winter 2019 2 Initial code setup $ cd eecs211 $ curl $URL211/lec/09lifecycle.tgz tar zx $ cd 09lifecycle 3 Road map Owned string type concept Faking it An owned string
More informationMPATE-GE 2618: C Programming for Music Technology. Unit 5.1
MPATE-GE 2618: C Programming for Music Technology Unit 5.1 Review: automatic vs. static variables Variables declared and passed to functions are automatic variables. As soon as you leave the function,
More informationGame Center Techniques, Part 1
Game Center Techniques, Part 1 Get Your Game On Gabriel Belinsky Senior Software Engineer 2 Game Center Friends Leaderboards Achievements Multiplayer gaming 3 What You ll Learn Game Center API basics Authenticate
More informationIntro to Development for ios. Dave Koziol Arbormoon Software, Inc.
Intro to Development for ios Dave Koziol Arbormoon Software, Inc. About Me Long time Apple Developer (21 WWDCs) Organizer Ann Arbor CocoaHeads President & ios Developer at Arbormoon Software Inc. Multiple
More informationAdvanced Computer Networks Smashing the Stack for Fun and Profit
Smashing the Stack for Fun and Profit 1 appeared in: Phrack 49 Volume Seven, Issue Forty-Nine by: Aleph One (Elias Levy) Where the title comes from 2 The stack Buffer Overflows Shellcode Be aware of the
More informationMastering Xcode 7 and Swift
By Kevin J McNeish Release Date : 2015-11-23 Genre : Programming FIle Size : 1029.85 MB - Kevin J McNeish is Programming The Most In-Depth Coverage of Xcode 7 Mastering Xcode and Swift contains the most
More informationTopics in Mobile Computing
Topics in Mobile Computing Workshop 1I - ios Fundamental Prepared by Y.H. KWOK What is ios? From Wikipedia (http://en.wikipedia.org/wiki/ios): ios is an operating system for iphone, ipad and Apple TV.
More informationCHAPTER 2: SYSTEM STRUCTURES. By I-Chen Lin Textbook: Operating System Concepts 9th Ed.
CHAPTER 2: SYSTEM STRUCTURES By I-Chen Lin Textbook: Operating System Concepts 9th Ed. Chapter 2: System Structures Operating System Services User Operating System Interface System Calls Types of System
More informationITP 342 Mobile App Dev. Animation
ITP 342 Mobile App Dev Animation Core Animation Introduced in Mac OS X Leopard Uses animatable "layers" built on OpenGL UIKit supports Core Animation out of the box Every UIView has a CALayer behind it
More informationCSE 374 Programming Concepts & Tools. Hal Perkins Spring 2010
CSE 374 Programming Concepts & Tools Hal Perkins Spring 2010 Lecture 12 C: structs, t linked lists, and casts Where we are We ve seen most of the basic stuff about C, but we still need to look at structs
More information3/7/2018. Sometimes, Knowing Which Thing is Enough. ECE 220: Computer Systems & Programming. Often Want to Group Data Together Conceptually
University of Illinois at Urbana-Champaign Dept. of Electrical and Computer Engineering ECE 220: Computer Systems & Programming Structured Data in C Sometimes, Knowing Which Thing is Enough In MP6, we
More informationMobile Apps 2010 iphone and Android
Mobile Apps 2010 iphone and Android March 9, 2010 Norman McEntire, Founder Servin Corporation - http://servin.com Technology Training for Technology ProfessionalsTM norman.mcentire@servin.com 1 Legal Info
More informationCprE 288 Introduction to Embedded Systems Exam 1 Review. 1
CprE 288 Introduction to Embedded Systems Exam 1 Review http://class.ece.iastate.edu/cpre288 1 Overview of Today s Lecture Announcements Exam 1 Review http://class.ece.iastate.edu/cpre288 2 Announcements
More informationA heap, a stack, a bottle and a rack. Johan Montelius HT2017
Introduction A heap, a stack, a bottle and a rack. Johan Montelius HT2017 In this assignment you re going to investigate the layout of a process; where are the different areas located and which data structures
More informationObjective-C and Cocoa User Guide and Reference Manual
Objective-C and Cocoa User Guide and Reference Manual Version 7.1 Copyright and Trademarks LispWorks Objective-C and Cocoa Interface User Guide and Reference Manual Version 7.1 March 2017 Copyright 2017
More informationExamples and solutions for iphone & ipad. J. Harrington B. Trebitowski C. Allen S. Appelcline MANNING
Examples and solutions for iphone & ipad J. Harrington B. Trebitowski C. Allen S. Appelcline MANNING ios 4 in Action by Jocelyn Harrington, Brandon Trebitowski, Christopher Allen, Shannon Appelcline Chapter
More informationITP 342 Advanced Mobile App Dev. Memory
ITP 342 Advanced Mobile App Dev Memory Memory Management Objective-C provides two methods of application memory management. 1. In the method described in this guide, referred to as manual retain-release
More informationCSCI-243 Exam 1 Review February 22, 2015 Presented by the RIT Computer Science Community
CSCI-243 Exam 1 Review February 22, 2015 Presented by the RIT Computer Science Community http://csc.cs.rit.edu History and Evolution of Programming Languages 1. Explain the relationship between machine
More informationCSC 1600 Memory Layout for Unix Processes"
CSC 16 Memory Layout for Unix Processes" 1 Lecture Goals" Behind the scenes of running a program" Code, executable, and process" Memory layout for UNIX processes, and relationship to C" : code and constant
More informationThe MVC Design Pattern
The MVC Design Pattern The structure of iphone applications is based on the Model-View-Controller (MVC) design pattern because it benefits object-oriented programs in several ways. MVC based programs tend
More informationObjective-C Primer. iphone Programmer s Association. Lorenzo Swank September 10, 2008
Objective-C Primer iphone Programmer s Association Lorenzo Swank September 10, 2008 Disclaimer Content was blatantly and unapologetically stolen from the WWDC 2007 Fundamentals of Cocoa session, as well
More informationC Bounds Non-Checking. Code Red. Reasons Not to Use C. Good Reasons to Use C. So, why would anyone use C today? Lecture 10: *&!
CS216: Program and Data Representation University of Virginia Computer Science Spring 2006 David Evans Lecture 10: *&!%[]++ int main (void) int x = 9; char s[4]; C Bounds Non-Checking gets(s); printf ("s
More informationIOS 9 App Development Essentials: Learn To Develop IOS 9 Apps Using Xcode 7 And Swift 2 PDF
IOS 9 App Development Essentials: Learn To Develop IOS 9 Apps Using Xcode 7 And Swift 2 PDF ios 9 App Development Essentials is latest edition of this popular book series and has now been fully updated
More informationGNUstep: What is it? gnustep.org
GNUSTEP GNUstep: What is it? A powerful object-oriented development environment: A set of cross-platform libraries for developing applications (text, graphic, script, web, etc.) Development tools and applications
More informationCS193P: HelloPoly Walkthrough
CS193P: HelloPoly Walkthrough Overview The goal of this walkthrough is to give you a fairly step by step path through building a simple Cocoa Touch application. You are encouraged to follow the walkthrough,
More informationCSci 4061 Introduction to Operating Systems. Programs in C/Unix
CSci 4061 Introduction to Operating Systems Programs in C/Unix Today Basic C programming Follow on to recitation Structure of a C program A C program consists of a collection of C functions, structs, arrays,
More informationReview. iphone Application Programming Lecture 2: Objective-C, Cocoa. History. Objective-C. Device restrictions. Interaction paradigm changes
Review iphone Application Programming Lecture 2: Objective-C, Cocoa Device restrictions Gero Herkenrath Media Computing Group RWTH Aachen University Winter Semester 2013/2014 http://hci.rwth-aachen.de/iphone
More informationITP 342 Mobile App Dev
ITP 342 Mobile App Dev Grand Central Dispatch Background Processing Grand Central Dispatch (GCD) New API for splitting up the work your app needs to do into smaller chunks that can be spread across multiple
More informationCS193p Spring 2010 Wednesday, March 31, 2010
CS193p Spring 2010 Logistics Lectures Building 260 (History Corner) Room 034 Monday & Wednesday 4:15pm - 5:30pm Office Hours TBD Homework 7 Weekly Assignments Assigned on Wednesdays (often will be multiweek
More informationBuilding Isomorphic Javascript Apps
Building Isomorphic Javascript Apps 1 / 6 2 / 6 3 / 6 Building Isomorphic Javascript Apps Often referred to as the holy grail of web application development, isomorphic JavaScript lets you run the same
More informationWhen we re first learning Cocoa (or Java, or Qt, or any other application framework),
MacDevCenter http://www.macdevcenter.com/lpt/a/4752 6 April 2004 The Cocoa Controller Layer by Michael Beam When we re first learning Cocoa (or Java, or Qt, or any other application framework), one of
More informationStanford CS193p. Developing Applications for ios. Fall Stanford CS193p. Fall 2011
Developing Applications for ios Views A view (i.e. UIView subclass) represents a rectangular area Defines a coordinate space Draws and handles events in that rectangle Hierarchical A view has only one
More informationios vs Android By: Group 2
ios vs Android By: Group 2 The ios System Memory Section A43972 Delta Core OS Layer Core Services Layer Media Layer CoCoa Touch Layer Memory Section A43972 Delta Aaron Josephs Core OS Layer - Core OS has
More informationMemory Corruption 101 From Primitives to Exploit
Memory Corruption 101 From Primitives to Exploit Created by Nick Walker @ MWR Infosecurity / @tel0seh What is it? A result of Undefined Behaviour Undefined Behaviour A result of executing computer code
More informationCSC 581: Mobile App Development Spring 2019
CSC 581: Mobile App Development Spring 2019 The ios landscape iphone/ios market share ios history ios architecture Cocoa Touch, media layer, core services, core OS ios development XCode & Swift 1 Vendor
More informationCS193E Lecture #3 Categories and Protocols Cocoa Memory Management
CS193E Lecture #3 Categories and Protocols Cocoa Memory Management Winter 2008, Dempsey/Marcos 1 Today s Topics Questions from Assignment 1A or 1B? Categories Protocols Cocoa Memory Management Object life
More informationAbout 1. Chapter 1: Getting started with iphone 2. Remarks 2. Versions 2. Examples 2. Installation or Setup 2. What is iphone. 3
iphone #iphone Table of Contents About 1 Chapter 1: Getting started with iphone 2 Remarks 2 Versions 2 Examples 2 Installation or Setup 2 What is iphone. 3 Programming iphone basics 4 Chapter 2: IOS Version
More informationReview. iphone Application Programming Lecture 2: Objective-C, Cocoa. History. Objective-C. Device restrictions. Interaction paradigm changes
Review iphone Application Programming Lecture 2: Objective-C, Cocoa Device restrictions Gero Herkenrath Media Computing Group RWTH Aachen University Winter Semester 2013/2014 http://hci.rwth-aachen.de/iphone
More informationIntermediate Programming, Spring 2017*
600.120 Intermediate Programming, Spring 2017* Misha Kazhdan *Much of the code in these examples is not commented because it would otherwise not fit on the slides. This is bad coding practice in general
More informationPublisher v3 Documentation
Publisher v3 Documentation Questions? email me: t0rn@inbox.ru!1 Description Publisher - Xcode project of universal ios app for selling PDF publications. Programming language - Swift 3. Complitable with
More informationPusleIR Multitouch Screen Software SDK Specification. Revision 4.0
PusleIR Multitouch Screen Software SDK Specification Revision 4.0 Table of Contents 1. Overview... 3 1.1. Diagram... 3 1.1. PulseIR API Hierarchy... 3 1.2. DLL File... 4 2. Data Structure... 5 2.1 Point
More informationProcesses. Johan Montelius KTH
Processes Johan Montelius KTH 2017 1 / 47 A process What is a process?... a computation a program i.e. a sequence of operations a set of data structures a set of registers means to interact with other
More informationContents. iphone Training. Industry Trainers. Classroom Training Online Training ON-DEMAND Training. Read what you need
iphone Training Contents About iphone Training Our ios training classes can help you get off to a running start in iphone, ipod and ipad app development. Learn from expert Objective-C developers with years
More informationJython. An introduction by Thinh Le
Jython An introduction by Thinh Le precursor_python! Google App Engine! Dropbox! PyGTK (Gnome)! Vim (embedded)! BitTorrent/Morpheus! Civilization/Battlefield Jython! Interpretation of Python (1997)! Jim
More informationBevezetés a mobil alkalmazáskészítés világába
Apps built to delight Bevezetés a mobil alkalmazáskészítés világába HALCYONMOBILE.COM About Halcyon About Halcyon // HALCYONMOBILE.COM // 2012 The Future Is Mobile The mobile revolution We're in the right
More informationHigh Performance Computing and Programming, Lecture 3
High Performance Computing and Programming, Lecture 3 Memory usage and some other things Ali Dorostkar Division of Scientific Computing, Department of Information Technology, Uppsala University, Sweden
More informationA process. the stack
A process Processes Johan Montelius What is a process?... a computation KTH 2017 a program i.e. a sequence of operations a set of data structures a set of registers means to interact with other processes
More informationScience. Computer Science
Introductions CS 442: Mobile App Development Michael Saelee Michael (Sae) Lee - lee@iit.edu - moss.cs.iit.edu - Office: SB 226A Agenda - Syllabus & Administrivia - Course overview Android
More informationLearn to Code in Swift 4
- Kevin J McNeish By Kevin J McNeish Release Date : 2017-11-12 Genre : Programmeren FIle Size : 1268.04 MB is Programmeren Learn Swift programming from the ground up with award-winning author, and iphone
More informationCSE 303: Concepts and Tools for Software Development
CSE 303: Concepts and Tools for Software Development Hal Perkins Winter 2009 Lecture 7 Introduction to C: The C-Level of Abstraction CSE 303 Winter 2009, Lecture 7 1 Welcome to C Compared to Java, in rough
More informationPraktikum Entwicklung von Mediensystemen mit
Praktikum Entwicklung von Mediensystemen mit Sommersemester 2013 Fabius Steinberger, Dr. Alexander De Luca Today Organization Introduction to ios programming Hello World Assignment 1 2 Organization 6 ECTS
More informationIPHONE DEVELOPMENT. Getting Started with the iphone SDK
IPHONE DEVELOPMENT Getting Started with the iphone SDK OBJECTIVE-C The Big Picture STRICT SUPERSET OF C The Objective C Language Any C stuff applies Standard libs are here (time, sqrt etc) The C Language
More informationSWIFT! init(title: String) { self.title = title } // required initializer w/ named parameter
SWIFT! class Session { let title: String // constant non-optional field: can never be null and can never be changed var instruktør: Person? // variable optional field: null is permitted var attendees:
More informationHaving fun with apple s IOKit. Ilja van sprundel
Having fun with apple s IOKit Ilja van sprundel who am I Ilja van sprundel IOActive netric blogs.23.nu/ilja Introduction what is the IOKit why UserClients entry points marshaling
More informationStanford CS193p. Developing Applications for ios Fall Stanford CS193p. Fall 2013
Developing Applications for ios -14 Today What is this class all about? Description Prerequisites Homework / Final Project ios Overview What s in ios? MVC Object-Oriented Design Concept Objective C (Time
More informationOrganize Your iphone: Icons and Folders
227 Chapter 7 Organize Your iphone: Icons and Folders Your new iphone is very customizable. In this chapter we will show you how to move icons around and put your favorite icons just where you want them.
More informationItunes Manually Transfer Ipod Music To Library Mac Software
Itunes Manually Transfer Ipod Music To Library Mac Software Apple Store Mac iphone Watch ipad ipod itunes Support from audio CDs or received from other sources won't copy from your device to the itunes
More information