1.
屬性//屬性:
為你自動生成
setter
和getter
//能在⼀定程度上簡化程式**,並且增強例項變數的訪問安全性
//屬性宣告的寫法
//@property
資料型別
例項變數名;//
屬性實現的寫法
//@synthesize
例項變數名;2.
屬性的修飾符
//修飾符
,實質是對
setter
和getter
方法的限定
//(1)
執行緒安全組
//nonatomic:
非原子性
(不對多執行緒進行管理
,效率高
)//atomic:
原子性(
在多執行緒下使用
,保證執行緒安全
,但效率會很低)//
注:a.
預設值:atomic,
一般使用
nonatomic
// b.atomic
修飾的屬性
,要麼同時重寫
setter
和getter,
要麼都不重寫
;不允許只重寫其中乙個方法
//(2)
記憶體管理組
//assign(
預設值)
//retain
//copy
//weak
//strong
//week
和strong
在arc
下才能夠使用
//基本資料型別用
assign
//物件用
retain, weak, strong
//既是物件
,並且物件遵循協議
,才能使用
copy//注
:delegate
寫成屬性,在
arc下用
weak,
在mrc
下用assign
//(3)
讀寫組//readwrite(
預設值)
可讀寫,
生成setter
和getter
//readonly:唯讀,
只生成getter
//(4)
方法重新命名組
//setter=
方法名//getter=
方法名//注:
重新修改
setter
和getter
的名字,
不影響點語法的使用
3.點語法
//點語法是
setter
和getter
的快捷呼叫方法
//屬性是⼀對
getter
、setter
方法,點語法是屬性的另一種呼叫格式
//如果點語法出現在賦值等號的左側,呼叫
setter;
其他位置,呼叫
getter
***************************
person.h
#import
@inte***ce
person :
nsobject
//屬性的作用
://1.
可以自動生成
setter
和getter方法(
包括宣告和實現
)//2.
如果沒有定義例項變數
,則自動生成例項變數
命名原則
(_屬性名
)@property
(nonatomic
,retain
)nsstring
*name;
@property
(nonatomic
,retain
)nsstring
****;
@property
(nonatomic
,assign
)nsinteger
age;
@property
(nonatomic
,assign
)nsinteger
number;
- (id
)initwithname:(
nsstring
*)name
***:(
nsstring
*)***
age:(
nsinteger
)age
number:(nsinteger
)number;
@end
***************************
person.m
#import
"person.h"
//由關鍵字
synthesize
//1.
來完成屬性宣告對應的
setter getter
實現//2.
同時繫結例項變數
//如果我們不去定義
,那麼系統會生成
@synthesize,
但是例項變數的可見度是私有的
@implementation
person
- (id
)initwithname:(
nsstring
*)name
***:(
nsstring
*)***
age:(
nsinteger
)age
number:(
nsinteger
)number
return
self;}
@end
***************************
main.m
#import
#import
"person.h"
#import
"student.h"
#import
"fraction.h"
intmain(
intargc,
const
char
* argv) {
@autoreleasepool
{ person
*per = [[
person
alloc
]initwithname
:@"xiaolong"
***:
@"m"
age:18
number
:01];
//呼叫
setter
方法賦值
[per
setname
:@"junfeng"
]; per.
name
=@"***"
;nslog
(@"name:%@ ***:%@ age:%ld number:%ld"
,[per
name
],[per
***],[per
age],[per
number]);
Android第二十一課筆記
內容提供者 內容提供者簡介 內容提供者 contentprovider 是android系統四大元件之一,用於儲存和檢索資料,是android系統中不同應用程式之間共享資料的介面。contentprovider是不同應用程式之間進行資料交換的標準api,以uri形式對外提供資料,允許其他應用操作本應...
第二十一題
題目 猴子吃桃問題 猴子第一天摘下若干個桃子,當即吃了一半,還不癮,又多吃了乙個第二天早上又將剩下的桃子吃掉一半,又多吃了乙個。以後每天早上都吃了前一天剩下的一半零乙個。到第10天早上想再吃時,見只剩下乙個桃子了。求第一天共摘了多少。my code 正向思考 index true remain0 0...
第二十一周學習筆記
12.1由x到形狀 除了雙眼視差外,陰影 紋理和聚焦都參與了我們對形狀的感知,從這些線索來推斷形狀的研究有時稱為 由x到形狀 12.1.1 由陰影到形狀與光度測量立體視覺 從影象亮度變化推斷出表面形狀的問題稱為 由陰影到形狀 12.1.2 由紋理到形狀 規則紋理的透視收縮變化可以對區域性表面方向提供...