第一部分+-
+方法[類名 函式名]
-方法[例項 函式名]
#import
@inte***cetest :
nsobject
-(void)test:(int)a;//「-」代表例項方法(instance)
+(void)test2:(int)b;//"+"代表靜態方法
@end
#import "test.h"
@implementationtest
-(void)test:(int)a
+(void)test2:(int)b
@end
#import "test.h"
output:
第二部分 方法過載
#import
@inete***ceparent :
nsobject
-(void)fun:(int)num;
@property (retain,nonatomic) nsmutablestring *a;//retain
相當於人工
retain加1
@end
#import"parent.h"
@implementationparent
-(void)fun:(int)num
@end
#import"parent.h"
@inte***cechild :
parent
-(void)fun:(int)num;
@end
#import"child.h"
@implementationchild
-(void)fun:(int)num
@end
#import"parent.h"
#import"child.h" {
parent *p1=[[child
alloc]init];
[p1 fun:3];
@end
//這個.m並不完整,只紀錄了改動的部分。.h沒有改動
output:
第三部分 引用計數(non-arc手工釋放)
方法:點工程名-project/targets-搜「automatic」-object-c automatic reference co…./objective-c automatic reference co….的選項選為「no」 {
parent *p1=[[child
alloc]init];
[p1 fun:3];
nsstring *tests=@"tests";
p1.a=[nsmutablestring
stringwithformat:@"%@",tests];
intcount=[p1.
aretaincount
];//獲得引用計數的值,當retaincount==0時,釋放記憶體
nslog(@"%d",count);
[p1.
aretain
];//呼叫retain後,引用計數加1
count=[p1.a
retaincount];
nslog(@"%d",count);
[p1.
arelease
];//呼叫release後,引用計數減1
count=[p1.a
retaincount];
nslog(@"%d",count);
@end
output:
有「retain」時@property (retain,nonatomic) nsmutablestring *a;//retain
相當於人工
retain加1
無「retain」時
//如果把nsmutablestring改為nsstring,或者賦乙個常量,則引用計數(retaincount)始終為-1或很大的數(與機器有關),這是因為程式執行時分為**區和資料區等,在資料區里有常量區,只有當應用程式退出時才釋放
學習第二天
linux系統的檔案型別及許可權的相關知識 1.普通檔案 l 連線檔案 d 資料夾 表示不同的檔案型別 2.檔案許可權 r 可讀 w 可寫 x 可執行 3.chmod 修改檔案許可權,修符號或者使用八進位制 linux的基礎命令 cd 切換目錄 ls 檢視內容 表示當前目錄 上一級目錄等 touch...
第二天學習
快捷鍵 功能ctrl alt t 啟動終端 print 全屏截圖 ctrl alt a 截圖alt tab 切換視窗 shift alt tab 反向切換視窗 super d 顯示桌面 super e 檔案管理器 super l 屏鎖介面 super up 最大化視窗 super down 恢復視窗...
學習第二天
製表符和換行符 換行符 n 的作用是是來游標跳到下乙個新行,輸入完一行內容後游標下移一行 而製表符 t 的作用是 跳格 即到自下乙個 製表位置 在系統中乙個 製表區 佔8列,相當於4個或8個空格符。正斜槓和反斜槓 正斜槓 是斜率是正數的斜槓,反斜槓 是斜率為負數的斜槓 這個世界上就只有microso...