oc学习

2016-06-01  本文已影响0人  Jalon

@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]; // 一定在最后销毁父类的空间
}

这些符号:

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;


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

for (NSString *hat in newHats) {}

nil 类似于 null,YES类似true  NO类似false或者0
上一篇下一篇

猜你喜欢

热点阅读