More Related Content
Similar to Programming in Objective-C (20)
More from Ryan Chung (20)
Programming in Objective-C
- 41. Objective-C http://MobileDev.TW
用檔案來區分用途
• 全部寫在一起難以
管理
• 將每一組interface
與implentation分
開儲存:
• .h檔:類別宣告
• .m檔:類別方法實作
41
@inerface A:NSObject
….
@end
@implentation A
….
@end
@inerface B:NSObject
….
@end
@implentation B
….
@end
@inerface C:NSObject
….
@end
@implentation C
….
@end
A.h
A.m
B.h
B.m
C.h
C.m
- 56. Objective-C http://MobileDev.TW
點運算子與[ ]混用
[[myAppObject theArray] insertObject:[myAppObject objectToInsert] atIndex:0];
--
[myAppObject.theArray insertObject:[myAppObject objectToInsert] atIndex:0];
[myAppObject setTheArray:aNewArray];
--
myAppObject.theArray = aNewArray;
56
- 79. Objective-C http://MobileDev.TW
5-2.Cocoa 與 Cocoa Touch
• Cocoa
• Foundation Framework
• Application Kit Framework
• Core Data
• Cocoa Touch
• Foundation Framework
• UIKit Framework
• Game Kit Framework
• iAD Framework
• Map Kit Framework
79
- 89. Objective-C http://MobileDev.TW
用NSNumber物件來持有各種基本型別的數值
char,double,float,int,long,short,….都可持有
89
NSNumber *magicNumber = [[NSNumber alloc] initWithInt:42];
NSNumber *unsignedNumber = [[NSNumber alloc] initWithUnsignedInt:42u];
NSNumber *longNumber = [[NSNumber alloc] initWithLong:42l];
NSNumber *boolNumber = [[NSNumber alloc] initWithBOOL:YES];
NSNumber *simpleFloat = [NSNumber numberWithFloat:3.14f];
NSNumber *betterDouble = [NSNumber numberWithDouble:3.1415926535];
NSNumber *someChar = [NSNumber numberWithChar:'T'];
也可從物件中取出基本型別的值餵給C語言的型別
int scalarMagic = [magicNumber intValue];
unsigned int scalarUnsigned = [unsignedNumber unsignedIntValue];
long scalarLong = [longNumber longValue];
BOOL scalarBool = [boolNumber boolValue];
float scalarSimpleFloat = [simpleFloat floatValue];
double scalarBetterDouble = [betterDouble doubleValue];
char scalarChar = [someChar charValue];
- 97. Objective-C http://MobileDev.TW
常用的程式邏輯(2)重複性
• 找到事物重複的規律,讓電腦幫你完成
• 在很久很久以前,有位勇士救了國王的女兒,國王想獎勵他,
就說,你可以提一個願望,我會滿足你。這位勇士對國王說:
我的要求很小,請您拿一個棋盤,在第1個格子裡放1粒米,在第
2個格子裡放2粒米,第3個格子裡放4粒米…. 以此類推,每到下
一個格子就增加一倍。直到將這六十四個格子全部放完。我的
要求就這樣。 國王聽了功臣的要求之後哈哈大笑:你的要求如
此簡單,太小看國王了,再提一個願望,勇士很謙虛地說:謝
謝國王,您能滿足我這個要求我就心滿意足了......
• 請問:
• 第64個格子要放幾粒米?
• 國王一共要給勇士幾粒米?
97