1. 關於Objc中函數調用類比java
[_lblHelloWorld setHidden:![_lblHelloWorld isHidden]];objective-c
類比爲: _lblHelloWorld.setHidden(!(_lblHelloWorld.isHidden()));函數
Tip: objc中的boolean值爲YES和NO,而不是True or False指針
-(void) helloWorld:(BOOL)isHelloWorld{}對象
類比爲: public void helloWorld(bool isHelloworld){}繼承
Tip: 前面帶有減號(-)的方法爲實例方法,必須使用類的實例才能夠調用。對應的有+號,表明類的靜態方法,不須要實例化便可調用接口
2. 消息:向對象發送消息。ip
消息是iOS的運行環境特有的幾隻,和C++和Java上類相似,但機制上有很大的差異。get
[object message:param1 withParameter:param2]string
NSString *string;
string = [[NSString alloc] initWithString:@「Hello」];
類比爲:
object.message()
object.message(param1,param2)
string *str;
string = new string(「Hello」);
3. import方法
#import 「Class.h」
#import <Class.h>
#import <director/Class.h>
和C下的include方法類似
4. Property 和 Synthesize
Property定義:@property聲明用於自動建立property屬性變量的getter和setter
Synthesize定義:@Synthesize聲明實現了property屬性變量的geetter和setter
例如:
在interface: @property dataType variableName
在implementation: Synthesize variableName
5. 頭文件中的方法
-(returnType)method
-(returnType)method:(dataType)param1
-(returnType)method:(dataType)param1 withParam:(dataType)param2
類比爲:
returnType method()
returnType method(param1)
retrunType method(param1,param2)
6. 關於self:指向本身的指針
[self method];
類比爲: self.method();
7. 繼承關係和接口實現
ClassA:PraentA
ClassA:PraentA<Protocol>
ClassA <Protocol>
類比爲:
ClassA extends ParentA
ClassA extends ParentA implements interface
ClassA implements interface
8. 空指針
id obj = nil;
NSString *hello = nil;
nil至關於java裏的null
9.id:objective-c中的id和C++裏的(void*)相似