【发布时间】:2014-11-26 15:54:46
【问题描述】:
我正在学习斯坦福的 iOS iTunes 课程的第 2 讲,并坚持使用关键字 self。它以两种不同的方式出现,我无法理解 self 到底指的是什么 - 以及为什么我们需要包含 self。
我们已经创建了一个名为 Card 的类,现在正在创建一个名为 Deck 的新类来管理一组卡片。在addCard: atTop: 方法中self.cards 的情况下,我特别不确定self 的功能。我只是不确定为什么使用 self 。为什么不推断,它指的是什么?
它也出现在第二种方法中,addCard: 我再次不确定 self 指的是什么。它只是指 addCard: 吗?如果是这样,为什么有必要回溯自我?
非常感谢任何帮助。
Deck .h File
#import <Foundation/Foundation.h>
#import "Card.h"
@interface Deck : NSObject
- (void)addCard:(Card *)card atTop:(BOOL)atTop;
- (void)addCard:(Card *)card;
- (Card *)drawRandomCard;
@end
Deck .m File
#import "Deck.h"
@interface Deck()
@property (strong, nonatomic) NSMutableArray *cards; // of Card
@end
@implementation Deck
- (NSMutableArray *)cards
{
return _cards;
}
- (void)addCard:(Card *)card atTop:(BOOL)atTop
{
if (atTop) {
[self.cards insertObject:card atIndex:0];
} else {
[self.cards addObject:card];
} }
- (void)addCard:(Card *)card
{
[self addCard:card atTop:NO];
}
- (Card *)drawRandomCard { }
@end
【问题讨论】:
-
self = this (C++) or Me(VB)
标签: ios objective-c