类工厂方法调用
//createInstance函数实现了SimpleClass类对象创建
//返回类型id,表示返回值是某一对象的指针
SimpleClass *simpleClass = SimpleClass.createInstance;
// SimpleClass *simpleClass = [SimpleClass createInstance];
创建类对象语法
//alloc函数用来给对象清理内存、分配内存,init函数用来确保属性值被正确初始化
//官方认为正确的方式
[[SimpleClass alloc] init];
//new关键字创建对象类似于 alloc init
//[SimpleClass new];
函数调用
[simpleClass sayHello:@"Objective-C" myName:@"Eugene"];
[simpleClass someMethodWithValue:@"SimpleClass" secondParam:24];
控制台输出
Hello Objective-C!, My name is Eugene
Hello SimpleClass!, My name is 24
字面量对象创建简洁语法
NSString *someString = @"Hello World";
NSNumber *myBOOL = @YES;
NSNumber *myFloat = @3.14f;
NSNumber *myInt = @42;
NSNumber *myLong = @42L;
NSNumber *myInt = @(84 / 2);
Objective-C是动态类型语言,类似Java语言中的多态特性,所以在声明一个对象指针的时候尽量不要使用id关键字,因为这样会在编译期间丢失对象信息,导致某些异常信息不能及时被发现。
对象指针比较
if (firstPerson == secondPerson) {
// 判断两个指针是否指向同一个对象
}
if ([firstPerson isEqual:secondPerson]) {
// 判断两个两个对象数据是否相等
}
if ([someDate compare:anotherDate] == NSOrderedAscending) {
// 比较两个对象数据大小
}
空值nil,作为返回值对象类型空值为nil,数字类型是0,布尔类型是NO
if (somePerson != nil) {
//不是空指针
}
if (somePerson) {
//不是空指针
}
if (somePerson==nil) {
//是空指针
}
if (!somePerson) {
//是空指针
}
PS: Automatic Reference Counting (ARC) ,Objective-C 编译器功能,自动优化内存管理机制,防止内存堆中的对象数据出现内存泄露。
网友评论