斯坦福大學公開課IOS 7 (1)
ios 架構
- core OS
- Core Services
- Media
- Cocoa Touch
Core OS
OSX Kernel(Unix OS), Power Management, Mach 3.0 ,Keychain Access ,基于BSD(Unix OS) ,Certificates.Sockets,File System,Security ,Bonjour
Core Servives
Collections,Core Location, Address Book , Net Services , Networking , Threading ,File Access, Preferences,SQLite ,URL Utilities
Media
Core Audio, JPEG PNG TIFF, OpenAL,PDF, Audio Mixing, Quartz(2D),Audio Recording,Core Animation, Video Playback,OpenGL ES
Cocoa Touch
Multi-Touch , Alerts, Core Motion, Web View,View Hierarchy, Map Kit, Locaization, Image Picker,Contrals, Camera
MVC
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsICdzFWRoRXdvN1LclHdpZXYyd2LcBzNvwVZ2x2bzNXak9CX90TQNNkRrFlQKBTSvwFbslmZvwFMwQzLcVmepNHdu9mZvwFVywUNMZTY18CX052bm9CX90EVONzZq10dRpWTmZEWjZXUYpVd1kmYr50MZV3YyI2cKJDT29GRjBjUIF2LcRHelR3LcJzLctmch1mclRXY39TO4UTOxgTN0EzMxETM3EDMy8CX0Vmbu4GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)
Objective-C 初學
//Card.h
#import <Foundation/NSObject.h>
//#import <Foundation/Foundation.h>
//#import Foundation;
@interface Card : NSObject
//預設object-c會自動建立getter與setter
@property {strong ,nonatomic} NSString * contents;
@property {nonatomic} BOOL chosen;
@property {nonatomic} BOOL matched;
//方法預設命名 getter->matched setter->setMatched
//方法重命名 @property {nonatomic,getter=isMatched} BOOL matched;
- (int ) match:(Card *)card;
- (int ) matchs:(NSArray *)card;
@end
//Card.m
#import "Card.h"
//私有屬性或方法的聲明,主要用于屬性
@interface Card()
@end
//滅有synthsize你将無法建立card執行個體,而且它沒有名,你無法再getter和setter中引用它
//實際上這些代碼是看不到的,object-c會自動建立
@synthesize contents = _contents;
@synthesize chosen = _chosen;
@synthesize matched = _matched;
//- (NNString *)contents 是一個方法聲明
// - 表示這是一個方法
- (NNString *)contents{
return _contents;
}
- (void)setContents:(NNString *contents){
_contents = contents;
}
- (BOOL) chosen
{
return _chosen;
}
- (void) setChosen:(BOOL chosen){
_chosen = chosen;
}
- (BOOL) matched{
return _matched;
}
-(void )setMatched:(BOOL matched){
_matched = matched;
}
@implementation Card
- (int )match:(Card *)card{
int score = ;
if([card.contents isEqualToString:self.contents]){
score=;
}
return score;
}
- (int )matchs:(NSArray *)otherCards{
int score = ;
for(Card * card in otherCards){
if([card.contents isEqualToString:self.contents]){
score=;
}
}
return score;
}
@end