您好,登錄后才能下訂單哦!
//延展Extension,是為類擴充私有的方法,以及私有的實例變量,和分類Category相比,延展定義的方法是私有的,而且還可以定義實例變量(私有的)。
//@interface 開頭 + 類名(哪一個類的延展) + 小括號,小括號內填寫的是延展名,一般情況下都省略。 @end結束 (寫在.m文件里)
main函數中的完整代碼為:
#import <Foundation/Foundation.h> #import "Person.h" int main(int argc, const char * argv[]) { @autoreleasepool { Person *person = [[Person alloc] initWithName:@"ruby" sex:@"man" age:23]; [person setName:@"Ruby"]; person.age = 13; // [person sayHi]; } return 0; }
創建一個Person類
Person.h中的完整代碼為:
#import <Foundation/Foundation.h> @interface Person : NSObject { NSString *_name; //姓名 NSString *_sex; //性別 NSInteger _age; //年齡 } #pragma mark - setter and getter @property (nonatomic, retain) NSString *name; @property (nonatomic ,retain) NSString *sex; @property (nonatomic) NSInteger age; #pragma mark - init method - (id)initWithName:(NSString *)name sex:(NSString *)sex age:(NSInteger)age; @end
Person.m中的完整代碼為:
#import "Person.h" @interface Person () { NSMutableArray *_personArr; } - (void)sayHi; @end @implementation Person #pragma mark - init method - (id)initWithName:(NSString *)name sex:(NSString *)sex age:(NSInteger)age { self = [super init]; if (self) { self.name = name; self.sex = sex; self.age = age; [self sayHi]; } return self; } #pragma mark - sayHi - (void)sayHi { NSLog(@"This is a private method:%@, %@, %ld", self.name, self.sex, self.age); } @end
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。