oc学习

@implementation 这种修饰器的方式可以声明类,在下面直接写方法,但是这种写法声明的类的成员变量不能被子类继承。

@implementation TBCChoicenessScrollPageItem

- (void)dealloc
{
    self.tableView.delegate = nil;
    self.tableView.dataSource = nil;
}

@end

[obj func:param] 其实可以使用点语法来写更适应,即obj.func.param

- (void)dealloc
{
    // 在开始先销毁子类的空间占用
    self.forumId = nil;
    self.threadId = nil;
    self.forumName = nil;
    self.title = nil;
    ...
    [super dealloc]; // 一定在最后销毁父类的空间
}

这些符号:
  • :指针类型声明,所有的Objective-C对象变量都是指针类型的。
    @ :表示这是o-c的,不然和c的区分不开
    如 NSString *name = @"jalon";
    NSNumber *age = @25;
    NSArray *apps = @[@"AngryFowl", @"Lettertouch", @"Tweetrobot"];
    NSDictionary *person = @{@"First Name": @"Eric"};
  • :实例方法
  • :静态方法
    []:调用方法
    : :传参

description 方法 类似于 toString 可以 [myArray description] 来调用输出
执行方法的时候 用[obj func]中间的空格是调用的意思,如果想要字符串+字符串 都得特么的 说实话 真的很低级,还有没有更好的办法。
NSString *fullName = [firstName stringByAppendingString:lastName];
NSString *fullName = [[firstName stringByAppendingString:@" "] stringByAppendingString:lastName];

类型:
NSUInteger  定义整型int   用%lu来代替%@ 打印
NSString 定义字符串
NSArray 定义数组
BOOL 定义YES NO
NSDictionary 定义字典 类似于json
NSNumber
NSNumber 是一個儲存數字的 Object,NSNumber 不像 C 語言的 int ,不能直接拿來做加、減、乘、除,如果你想簡單一點使用數字的處理,可以使用另一個 Object : *NSInteger*。

---
block
myBlock = ^( int paramA )
{
    return [ NSString stringWithFormat: @"Passed number: %i", paramA ];
};

NSArray *newHats = @[@"Cowboy", @"Conductor", @"Baseball",@"Beanie", @"Beret", @"Fez"];
[newHats enumerateObjectsUsingBlock:^(NSString *hat, NSUInteger index, BOOL *stop){
  NSLog(@"Trying on hat #%lu: %@", index+1, hat);
}];

---
类接口定义:

@interface 类名:父类名{
变量定义;
}
方法定义;
@end;


定义值或者说返回值写在括号里
前面带有减号(-) 的方法为实例方法,必须使用类的实例才可以调用的。对应的有+号, 代表是类的静态方法,不需要实例化即可调用。
  • 实例方法
  • 类的静态方法
    -(void) HelloWorld:(BOOL)ishelloworld{
    //干点啥
    }
Objective-C中,调用方法被称为**发送消息** ,通知对象执行某种操作。
方括号实例化并传参调用,空格类似于 "."  : 类似于括号传参

for (NSString *hat in newHats) {}

nil 类似于 null,YES类似true  NO类似false或者0
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容