Object-C_问题记录

2016-09-19  本文已影响18人  陈胜华

import和include的区别 ?

setter/getter方法出现死循环原因 ?

@implementation Person

- (void)setAge:(NSInteger)age{
    //这里要注意,如果我们定义的全局变量是age而不是_age的话
    //这里不能用age = age进行赋值
    //但是也不能使用self.age = age,因为self.age等价于[self setAge:age]这样就会出现死循环了
    //所以我们在定义全局变量的时候一般都会加上一个下划线以便区分
    _age = age;
    NSLog(@"setAge is Execute");
}
- (NSInteger) age{
    NSLog(@"getAge is Execute");
    return _age;
}
@end

经常犯的一个错误:unrecognized selector sent to instance 0xXXXXX?

isKindOfClass和isMemberOfClass方法区别 ?

Person *rose = [[Person alloc] init];
//判断rose是否属于Person类创建的
BOOL isBelongTo = [rose isMemberOfClass:[Person class]];//返回YES
BOOL isBelongTo = [rose isMemberOfClass:[NSObject class]];//返回NO

//判断一个类是不是某个类的子类/父类
BOOL isBelongTo = [rose isKindOfClass:[Person classs]];//返回YES
BOOL isBelongTo = [rose isKindOfClass:[NSObject class]];//返回YES 

了解 imageNamed: 与 imageWithContentsOfFile:的差异

上一篇下一篇

猜你喜欢

热点阅读