oc中的檔案

2021-07-04 18:30:18 字數 2990 閱讀 3564

下面以乙個例題為例。

1、定義乙個computer類

例項變數:float width; nsstring *name;

方法:乙個帶兩個引數的初始化函式;

print()函式;

dealloc()函式;

2、定義乙個person類

例項變數:nsstring *name; computer *c; int age;

方法:乙個帶三個引數的初始化函式;

print()函式;

dealloc()函式;

要求:用該類建立出來的物件能實現copy和存入檔案。

3、主函式要求:

a、分別建立computer類的物件cc和person類物件pp;並輸出物件資訊。

b、利用copy函式建立person類物件p1; 並輸出物件資訊

c、把pp存入檔案hello.txt中,檔案目錄為documents目錄。

d、從檔案hello.txt中讀取物件p2, 並輸出物件資訊。

e、不能出現記憶體洩漏和多次刪除。

computer.h

////  person.h

//  課堂練習檔案

////  created by mac on 15/8/22.

//#import

#import "computer.h"

@inte***ce

person : nsobject

@property(nonatomic,retain)

nsstring

* name;

@property(nonatomic,retain)

computer

*c;

@property(nonatomic,assign) intage;

//- (void) setname:(nsstring *)n andc:(computer*)c1 andage:(int)a;

- (id) initwithname:(nsstring*)n andc:(computer*)c1 andage:(int)a;

- (void)print;

@end

computer.m

////  computer.m

//  課堂練習檔案

////  created by mac on 15/8/22.

//#import "computer.h"

@implementationcomputer

@synthesizename;

@synthesizewidth;

- (id)initwithname:(nsstring*)n andwidth:(float)w

return self; }

- (void)print

- (void)dealloc

- (void)encodewithcoder:(nscoder *)acoder //

歸檔,把物件存入到檔案中

- (id)initwithcoder:(nscoder *)adecoder//

解檔,把資料從檔案中讀出來

return self; }

@end

person.h

////  person.h

//  課堂練習檔案

////  created by mac on 15/8/22.

//#import

#import "computer.h"

@inte***ce

person : nsobject

@property(nonatomic,retain)

nsstring

* name;

@property(nonatomic,retain)

computer

*c;

@property(nonatomic,assign) intage;

//- (void) setname:(nsstring *)n andc:(computer*)c1 andage:(int)a;

- (id) initwithname:(nsstring*)n andc:(computer*)c1 andage:(int)a;

- (void)print;

@end

person.m

////  person.m

//  課堂練習檔案

////  created by mac on 15/8/22.

//#import "person.h"

@implementationperson

@synthesize name,c,age;

- (id)initwithname:(nsstring*)n andc:(computer*)c1 andage:(int)a;

return self; }

//符合,繼承:

//誰的事情誰做

- (void)print

- (void)dealloc

- (id) copywithzone:(nszone *)zone

- (void)encodewithcoder:(nscoder *)acoder

- (id)initwithcoder:(nscoder *)adecoder

return self; }

@end

main.m

////  main.m

//  課堂練習檔案

////  created by mac on 15/8/22.

//#import

#import "computer.h"

#import "person.h"

int main(int argc, const

char * argv)

else

person*p2 = [nskeyedunarchiverunarchiveobjectwithfile:path];

[p2 print];

}return 0;}

OC中的檔案管理

獲取程式根目錄 nsstring rootpath nshomedirectory 獲取根目錄下的documents目錄 或者 最常用的獲取documents目錄 documentspath nssearchpathfordirectoriesindomains nsdocumentdirector...

OC學習 OC中對檔案的操作

下面是一些簡單的關於oc中對檔案的基本操作的案例 應用程式檔案的移動 nsfilemanager new moveitematpath nsstring 路徑格式 user nsstring型別 topath nsstring error nserror autoreleasing 應用程式檔案的複...

oc中關於pch檔案

pch 可以用來儲存共享資訊,比如裝置螢幕的寬度,高度。版本號等等 公用資訊 xcode 老版本會自動為我們建立pch檔案,新版本開始不自動建立了,如果需要使用可以自己手動建立 建立完成後可以在裡面定義常量 此處以螢幕尺寸為例 如下 如下 複製 如下 獲取螢幕 寬度 高度 然後在程式中使用 可以直接...