iOS搴旂敤寮€鍙戝靉闂ㄦ寚鍗?- 緙栧啓 Objective-C 浠g爜-鍗氬-浜戞爾紺懼尯-闃塊噷浜?
濡傛灉浣犲垰寮€濮嬫帴瑙?iOS 鎴?Mac OS X聽緙栫▼锛岄鍏堣瀛︿範涓€鐐圭紪紼嬭璦€ Objective-C 鍏ラ棬鐭ヨ瘑銆侽bjective-C 騫朵笉鏄竴闂ㄥ鏉傜殑璿█锛岀粡榪囦竴孌墊椂闂寸殑鎺ヨЕ锛屼綘灝辮兘浣撲細鍒板畠鐨勪紭闆呫€侽bjective-C 璿█瀹炵幇浜嗕弗鏍肩殑闈㈠悜瀵矽薄緙栫▼銆傚畠鎵╁睍浜嗘爣鍑? ANSI C 璿█锛屽鍔犱簡瀹氫箟綾誨拰鏂規硶鐨勮娉曘€傚畠榪樻帹琛岀被鍜屾帴鍙g殑鍔ㄦ€佹墿灞曟€э紝浣誇換浣曠被閮借兘閫傞厤鍜岄噰鐢ㄣ€?/p>
濡傛灉浣犲凡緇忔帉鎻′簡 ANSI C 璿█锛屼笅闈㈢殑鍐呭鑳藉甯姪浣犳帉鎻?Objective-C 鐨勫熀鏈娉曘€傚鏋滀綘鏈夊叾浠栭潰鍚戝璞$紪紼嬭璦€鐨勫熀紜€锛屼綘浼氬彂鐜?Objective-C 涓惈鏈夊ぇ閲忎紶緇熺殑闈㈠悜瀵矽薄姒傚康锛屼緥濡傚皝瑁呫€佺戶鎵褲€佸鎬佹€х瓑銆傚弽榪囨潵锛屽鏋滀綘瀵?ANSI C 灝氫笉鐔熸倝锛屾垜浠瘹鎸氬緩璁偍鍦ㄩ槄璿繪湰鏂囦箣鍓嶏紝鍏堣嚦灝戦槄璿諱竴綃囧叧浜?C 璿█鐨勪粙緇嶃€?/p>
鍦ㄣ€奣he Objective-C Programming Language銆嬩腑瀹屾暣璁茶В浜?Objective-C 璿█銆?/p>
鍏充簬 Objective-C
Objective-C 璿█瑙勫畾浜嗕竴緋誨垪鐢ㄦ潵瀹氫箟綾誨拰鏂規硶鐨勮娉曪紝浠ュ強鐢ㄦ潵鎺ㄨ綾誨拰鍙€傚簲鎺ュ彛鐨勫姩鎬佹墿灞曠殑緇撴瀯銆?/p>
C 璿█鐨勮秴闆?/strong>
鏃㈢劧鏄?C 璿█鐨勮秴闆嗭紝Objective-C 鏀寔鎵€鏈?C 璿█鐨勫熀鏈娉曘€備綘鍙互緇х畫鎸変綘鐨勪範鎯功鍐欎唬鐮侊紝渚嬪鍘熷綾誨瀷锛坕nt銆乫loat 絳夛級銆佺粨鏋勩€佸嚱鏁般€佹寚閽堬紝榪樻湁榪囩▼鎺у埗璿彞渚嬪 if鈥lse 鍜?for 璿彞銆備綘鍙互浣跨敤鏍囧噯 C 璿█搴擄紝姣斿 stdlib.h 鍜?stdio.h 涓0鏄庣殑鍐呭銆?/p>
Objective-C 鍦?ANSI C 鐨勫熀紜€涓婂鍔犱簡濡備笅鍐呭锛?/p>
濡傛灉鐜板湪榪樹笉鏄庣櫧榪欎簺 Objective-C 姒傚康涔熶笉蹇呮媴蹇冦€傚綋浣犵戶緇槄璿誨悗闈㈢殑鍐呭鏃跺氨浼氬涔犺繖浜涙蹇點€傚鏋滀綘鏄垵嬈℃帴瑙﹂潰鍚戝璞℃蹇電殑寮€鍙戣€咃紝鍙互鍏堟妸瀵矽薄鎯寵薄鎴愪竴涓惈鏈夊嚱鏁扮殑緇撴瀯銆傝繖涓瘮鍠諱笉綆楀お紱昏氨锛屽挨鍏跺榪愯鏃剁殑瀹炵幇鑰岃█銆?/p>
Objective-C 鐨勪紭鍔?/strong>
Objective-C 涓嶄粎鎻愪緵浜嗗叾浠栭潰鍚戝璞$紪紼嬭璦€涓殑鎶借薄姒傚康鍜岃繍琛屾満鍒訛紝鑰屼笖榪樻槸涓€縐嶉潪甯哥伒媧葷殑璿█锛岃繖縐嶅姩鎬佹€у氨鏄?Objective-C 鐨勬渶澶т紭鍔挎墍鍦ㄣ€傝繖縐嶅姩鎬佹€у彲浠ヨ搴旂敤鍦ㄨ繍琛屼腑锛堝嵆鈥滆繍琛屾椂鈥濓級鍒ゆ柇鍏惰鏈夌殑琛屼負锛岃€屼笉鏄湪緙栬瘧鏋勫緩鏃跺氨鍥哄畾涓嬫潵銆傚洜姝わ紝Objective-C 鎶婂簲鐢ㄧ▼搴忎粠緙栬瘧鏃躲€佽繛鎺ユ椂鐨勯檺鍒朵腑瑙f斁鍑烘潵锛屽苟鍦ㄧ敤鎴鋒帉鎻℃帶鍒舵潈鏃訛紝鏇村渚濊禆浜庤繍琛屾椂鐨勭鍙瘋В鏋愩€侽bjective-C 鐨勫姩鎬佹€ф潵鑷笁涓柟闈細
娉ㄦ剰锛?/strong>闈欐€佺被鎬т腑鐨勭被閮芥槸鍥哄畾縐嶇被鐨勶紙姣斿聽NSString *var锛夛紝瀹冩湁鑷韓鐨勪紭鍔匡紝瀹為檯涓婄敤澶勬瘮鍔ㄦ€佺被鍨嬫洿騫挎硾銆傛墦涓瘮鏂癸紝浣跨敤闈欐€佺被鍨嬶紝緙栬瘧鍣ㄥ氨鍙互瀹屽叏鍒嗘瀽浣犵殑浠g爜銆傝繖璁╀唬鐮佹€ц兘鍜屽彲棰勭煡鎬ф洿楂樸€傚湪鍏朵粬闈㈠悜瀵矽薄緙栫▼璿█涓紝鍔ㄦ€佺被鍨嬫湁鏃惰鎴愪負寮辯被鍨嬶紝闈欐€佺被鍨嬭鎴愪負寮虹被鍨嬨€?/p>
鍜屽叾浠栧ぇ閮ㄥ垎闈㈠悜瀵矽薄緙栫▼璿█涓€鏍鳳紝Objective-C 涓殑綾諱篃鏀寔灝佽鏁版嵁锛屼互鍙婂畾涔夊彲浠ュ湪璿ユ暟鎹笂鎵ц鐨勫姩浣溿€傚璞℃槸榪愯鏃剁被鐨勪竴涓疄渚嬨€傚湪綾婚噷澹版槑浜嗙殑瀹炰緥鍙橀噺鍜屾柟娉曪紝瀹冪殑姣忎釜瀹炰緥閮藉湪鍐呭瓨涓嫢鏈夊悓鏍風殑瀹炰緥鍙橀噺锛屼互鍙婃寚鍚戦偅浜涙柟娉曠殑鎸囬拡銆傚壋寤轟竴涓璞℃椂锛屼綘闇€瑕佺粡榪囦袱涓楠わ細鍐呭瓨鍒嗛厤锛坅llocation锛夊拰鍒濆鍖栵紙initialization锛夈€?/p>
Objective-C 涓殑綾繪湁鑷繁鐨勮鑼冭姹傦紝蹇呴』鍖呮嫭涓や釜涓嶅悓鐨勯儴鍒嗭細鎺ュ彛锛坕nterface锛夊拰瀹炵幇锛坕mplementation锛夈€傛帴鍙i儴鍒嗗惈鏈夌被鐨勫0鏄庛€佸疄渚嬪彉閲忓拰鐩稿叧鏂規硶鐨勫0鏄庛€傛棦鐒舵槸浣滀負 C 璿█锛岄€氳繃鍒嗗埆瀹氫箟澶存枃浠跺拰婧愭枃浠訛紝浣犲氨鍙互灝嗗叕鏈夊0鏄庡拰鍏蜂綋鐨勫疄鐜頒唬鐮佺粰鍒嗙寮€鏉ャ€傦紙浣犲彲浠ュ湪瀹炵幇鏂囦歡閲屾斁涓€浜涘0鏄庝唬鐮侊紝鍥犱負鏈変簺鎯呭喌涓嬶紝瀹冧滑鍏卞悓鏋勬垚涓€涓叕鐢ㄧ▼搴忛噷鐨勬帴鍙i儴鍒嗐€傦級涓嬭〃鍒楀嚭浜嗚繖浜涙枃浠剁殑鍚庣紑浠ュ強鍖哄埆锛?/p>
鍚庣紑銆佹簮鏂囦歡綾誨瀷锛?/strong>
濡傛灉闇€瑕佸湪婧愪唬鐮佷腑鍖呭惈澶存枃浠訛紝浣犻渶瑕佷嬌鐢?import 鍛戒護锛屽拰 C 璿█涓殑聽#include 鍛戒護綾諱技銆備袱鑰呯殑鍖哄埆鍦ㄤ簬锛?import 鑳藉淇濊瘉澶存枃浠跺彧琚寘鍚竴嬈°€?/p>
鍥?1 涓槸涓€孌電殑綾誨0鏄庣殑璿硶灞曠ず锛屽0鏄庝簡涓€涓彨鍋毬燤yClass 鐨勭被锛屽畠緇ф壙浜庡熀鏈被锛堟垨鏍圭被锛夛細NSObject銆傦紙鏍圭被鍙互琚墍鏈夌殑鍏朵粬綾葷洿鎺ユ垨闂存帴緇ф壙銆傦級綾誨0鏄庡紑澶存槸涓€鏉$紪璿戝櫒鎸囦護聽@interface锛岀粨灝炬槸涓€鏉÷燖end 鎸囦護銆傚湪綾誨悕縐板悗杈癸紙涓棿鐢ㄥ啋鍙峰垎闅旓級锛屾槸鐖剁被鐨勫悕縐般€傚湪 Objective-C 涓紝姣忎釜綾誨彧鑳芥湁涓€涓埗綾匯€傜被涓寘鍚殑瀹炰緥鍙橀噺锛堟湁鏃惰縐頒負 ivar锛屽湪鍏朵粬緙栫▼璿█涓湁鏃惰縐頒負鎴愬憳鍙橀噺锛夌殑澹版槑琚竴涓姳鎷彿锛坽 鍜屄爙锛夊寘瑁矽搗鏉ャ€傚疄渚嬪彉閲忔槸鍙€夌殑銆傚湪瀹炰緥鍙橀噺璿彞鍧椾笅杈規槸灞炴€э紙鍥句腑娌℃湁鍐欏嚭鏉ワ級鍜岀被鐨勬柟娉曞0鏄庛€傛瘡涓疄渚嬪彉閲忓拰鏂規硶澹版槑鐨勮鍙ョ粨灝鵑兘瑕佹湁涓€涓垎鍙楓€?/p>
鍥?1聽涓€孌電被澹版槑
綾葷殑瀹炵幇鐨勮娉曚篃鏄被浼肩殑銆傚紑澶存槸緙栬瘧鍣ㄦ寚浠ぢ燖implementation锛堝悗闈㈡湁綾葷殑鍚嶇О锛夛紝緇撳熬鏄燖end 鎸囦護銆傛柟娉曠殑瀹炵幇浠g爜灝卞湪榪欎袱涓寚浠ょ殑涓棿銆傚疄鐜頒唬鐮佷腑蹇呴』瀵煎靉瀹冪殑鎺ュ彛鏂囦歡锛屽啓鍦ㄤ唬鐮佺殑絎竴琛屻€?/p>
#import 鈥淢yClass.h鈥?/p>
@implementation MyClass
+ (MyClass *)myClassWithString:(NSString *)aName
鎴戜滑涔嬪墠璁茶繃锛孫bjective-C 鏀寔鍖呭惈瀵矽薄鐨勫姩鎬佺被鍨嬪彉閲忥紝瀹冨悓鏃朵篃鏀寔闈欐€佺被鎬с€傞潤鎬佺被鍨嬪彉閲忕殑澹版槑鍓嶈竟瑕佹湁鎵€榪扮被鐨勫悕縐般€傝€屽姩鎬佺被鍨嬪彉閲忓0鏄庝互聽id 鏉ヤ唬琛ㄥ璞°€傚湪鏌愪簺鎯呭艦涓嬶紝浣犱細鐢ㄥ埌鍔ㄦ€佺被鍨嬪彉閲忋€傛瘮濡傦紝涓€涓暟緇勮繖鏍風殑瀵矽薄闆嗗悎锛堥噷闈㈠寘鍚殑瀵矽薄綾誨瀷鍙兘鏄棤娉曢鐭ョ殑锛夊氨浼氱敤鍒板姩鎬佺被鍨嬪彉閲忋€傝繖鏍風殑鍙橀噺鑳藉鎻愪緵鏃犳瘮鐏墊椿鐨勫姛鑳斤紝浣垮緱 Objective-C 紼嬪簭鑳藉鎷ユ湁鏇村ぇ鐨勫姩鎬佹€с€?/p>
涓嬮潰鐨勪緥瀛愬睍紺轟簡闈欐€佺被鍨嬪拰鍔ㄦ€佺被鍨嬪彉閲忕殑澹版槑鏂瑰紡锛?/p>
MyClass *myObject1;聽 // 闈欐€佺被鎬?br>
id聽聽聽聽聽聽聽聽聽聽聽聽聽myObject2;聽 // 鍔ㄦ€佺被鍨?br>
NSString *userName;聽 // 鏇懼嚭鐜板湪鈥滀綘鐨勭涓€涓?iOS 搴旂敤鈥濅腑锛堥潤鎬佺被鍨嬶級
璿鋒敞鎰忕涓€涓0鏄庨噷鐨?* 鏄熷彿銆傚湪 Objective-C 璿█涓紝瀵矽薄姘歌繙鏄€氳繃鎸囬拡鏉ュ紩鐢ㄧ殑銆傚鏋滅幇鍦ㄤ綘榪樹笉鑳芥槑鐧借繖鍙ヨ瘽鐨勬剰鎬濅篃涓嶅繀鎷呭績锛屽湪瀛︿細Objective-C 鍩虹涔嬪悗鍐嶇爺絀舵寚閽堜篃涓嶈繜銆傜幇鍦ㄤ綘闇€瑕佽浣忕殑锛屾槸鍦ㄩ潤鎬佺被鍨嬪彉閲忓0鏄庢椂锛屽彉閲忓悕縐板墠闈竴瀹氳鏈?* 鏄熷彿銆傝€屄爄d 綾誨瀷鍒欐殫紺哄畠鏄竴涓寚閽堛€?/p>
濡傛灉浣犲垰鍒氬紑濮嬫帴瑙﹂潰鍚戝璞$紪紼嬶紝涓嶅Θ鍏堟妸鈥滄柟娉曗€濇兂璞℃垚姣忎釜瀵矽薄鐗規湁鐨勪竴涓嚱鏁般€傞€氳繃鍚戜竴涓璞″彂閫佹秷鎭紝浣犱究璋冪敤浜嗗璞$殑鏌愪釜鏂規硶銆侽bjective-C 涓湁涓ょ鏂規硶锛氬疄渚嬫柟娉曚互鍙婄被鏂規硶銆?/p>
鏂規硶鐨勫0鏄庣敱浠ヤ笅鍑犱釜閮ㄥ垎鏋勬垚锛氭柟娉曠被鍨嬫爣璿嗙锛岃繑鍥炵被鍨嬶紝涓€涓垨澶氫釜鏂規硶絳懼悕鍏抽敭瀛楋紝浠ュ強鍙傛暟綾誨瀷鍜屽悕縐般€備笅闈㈢殑鍥句腑鏄疄渚嬫柟娉暵爄nsertObject:atIndex: 鐨勫0鏄庤鍙ャ€?/p>
鍦ㄥ疄渚嬫柟娉曚腑锛屽0鏄庣殑寮€澶存槸涓€涓?鈥?鍑忓彿锛涜€屽0鏄庣被鏂規硶鏃跺墠闈㈣浣跨敤 + 鍔犲彿銆備笅鏂囩殑鈥滅被鏂規硶鈥濈珷鑺傚皢璿︾粏璁茶堪綾繪柟娉曠殑姒傚康銆?/p>
鏂規硶鐨勫悕縐幫紙insertObject:atIndex:锛夋槸涓€緋誨垪鏂規硶絳懼悕鍏抽敭璿嶈仈緇撹€屾垚锛屽寘鎷啋鍙楓€傚啋鍙瘋〃紺哄皢浼氬嚭鐜板弬鏁般€傚湪涓婇潰鐨勪緥瀛愪腑锛岃繖涓柟娉曞惈鏈変袱涓弬鏁般€傚鏋滄煇涓柟娉曟病鏈夊弬鏁幫紝鍒欓渶瑕佸皢絎竴涓紙涔熸槸鍞竴涓€涓級鏂規硶絳懼悕鍏抽敭璿嶅悗闈㈢殑鍐掑彿鐪佺暐鎺夈€?/p>
褰撲綘闇€瑕佽皟鐢ㄤ竴涓柟娉曟椂锛屽氨鏄鍚戝疄鐜頒簡璿ユ柟娉曠殑瀵矽薄鍙戦€佷竴涓秷鎭紝綆€鑰岃█涔嬶紝灝辨槸緇欏璞″彂閫佹秷鎭€傦紙鉶界劧鈥滃彂閫佹秷鎭€濆父甯哥敤浣溾€滆皟鐢ㄦ柟娉曗€濈殑榪戜箟璿嶏紝浣嗘槸鍦?Objective-C 鐨勮繍琛屾椂涓紝瀹為檯鎯呭喌鏄彂閫佹秷鎭€傦級涓€涓秷鎭氨鏄竴涓柟娉曠殑鍚嶅瓧甯︿笂璿ユ柟娉曟墍闇€鐨勫弬鏁頒俊鎭紙瑕佸拰鏁版嵁綾誨瀷姝g‘瀵瑰簲锛夈€備綘鍚戝璞″彂閫佺殑鎵€鏈夋秷鎭兘鏄姩鎬佽皟搴︾殑锛屼互姝ゆ潵瀹炵幇 Objective-C 璿█鐨勫鎬佹€с€傦紙澶氭€佹€ф槸鎸囷細涓嶅悓綾誨瀷鐨勫璞¢兘鑳藉鍚屼竴縐嶆秷鎭仛鍑哄洖搴斻€傦級鏈夋椂锛屾墍璋冪敤鐨勬柟娉曟槸鐢辨帴鏀舵秷鎭殑瀵矽薄鐨勭被鐨勭埗綾誨疄鐜扮殑銆?/p>
瑕佽皟搴︿竴涓秷鎭紝榪愯鏃惰姹傛紜殑娑堟伅琛ㄨ揪鏂瑰紡銆?strong>娑堟伅琛ㄨ揪寮?/strong>鐢變竴瀵規柟鎷彿锛圼 鍜屄燷锛夋妸娑堟伅锛堜互鍙婃墍闇€鐨勫弬鏁幫級鍖呰9璧鋒潵锛屾帴鏀舵秷鎭殑瀵矽薄鍐欏湪宸﹁竟鎷彿鍚庤竟銆傛瘮濡傦紝瑕佸悜聽myArray 鍙橀噺鎵€鍚殑瀵矽薄鍙戦€佷竴涓爄nsertObject:atIndex: 娑堟伅锛屼綘瑕佹寜涓嬮潰鐨勮娉曡繘琛屼功鍐欙細
[myArray insertObject:anObject atIndex:0];
涓轟簡閬垮厤澹版槑澶ч噺灞€閮ㄥ彉閲忔潵瀛樺偍涓存椂緇撴灉锛孫bjective-C 鍏佽宓屽娑堟伅琛ㄨ揪寮忋€傛瘡涓祵濂楃殑琛ㄨ揪寮忚繑鍥炵殑鍊奸兘浼氫綔涓轟竴涓弬鏁幫紝鎴栬€呮帴鏀舵秷鎭殑瀵矽薄锛岀敋鑷蟲槸鍙︿竴涓秷鎭€傛瘮濡傦紝浣犲彲浠ュ皢涓婁竴涓緥瀛愪腑鐨勪換鎰忎竴涓彉閲忔浛鎹㈡垚鐢ㄦ秷鎭帴鏀舵暟鍊箋€傝繖鏍蜂竴鏉ワ紝濡傛灉浣犺繕鏈変竴涓彨鍋毬爉yAppObject 鐨勫璞★紝瀹冨惈鏈夎闂暟緇勫璞′互鍙婂皢瀵矽薄鎻掑靉鏁扮粍鐨勬柟娉曪紝浣犲彲浠ュ皢閭d釜渚嬪瓙鏀歸€犳垚涓嬮潰榪欐牱锛?/p>
[[myAppObject theArray] insertObject:[myAppObject objectToInsert] atIndex:0];
Objective-C 榪樻彁渚涗簡鐐矽娉曠壒鎬э紝鐢ㄦ潵璁塊棶瀛樺彇鏂規硶銆?strong>瀛樺彇鏂規硶鏄璞$殑 get 鍜?set 璿彞锛岃繖閲屾槸灝佽鐨勫叧閿紝灝佽鏄墍鏈夊璞$殑閲嶈鐗規€с€傚璞℃妸鑷繁鐨勭姸鎬佸皝瑁咃紙鎴栭殣鈃忥級璧鋒潵锛屽苟鎻愪緵涓€涓兘璁╂墍鏈夊疄渚嬭闂繖涓姸鎬佺殑閫氱敤鎺ュ彛銆傚埄鐢ㄧ偣璿硶锛屼箣鍓嶇殑渚嬪瓙鍙堝彲浠ヨ鏀瑰啓鎴愶細
[myAppObject.theArray insertObject:myAppObject.objectToInsert atIndex:0];
鐐矽娉曡繕鍙互鐢ㄦ潵璧嬪€鹼細
myAppObject.theArray = aNewArray;
榪欎釜璿硶鍏跺疄鏄燵myAppObject setTheArray:aNewArray]; 榪欎釜璿彞鐨勫彠涓€縐嶈〃榪版柟寮忋€?/p>
鑰屼笖锛岃鍥炴兂涓€涓嬶紝鍦ㄢ€滀綘鐨勭涓€涓?iOS 搴旂敤鈥濇暀紼嬮噷锛屼綘宸茬粡鐢ㄨ繃鐐矽娉曟潵瀵瑰彉閲忚繘琛岃祴鍊間簡锛?/p>
self.userName = self.textField.text;
涓嬫枃涓殑鈥滃凡澹版槑鐨勫睘鎬у拰瀛樺彇鏂規硶鈥濈珷鑺傚皢鍚戜綘璿︾粏浠嬬粛瀛樺彇鏂規硶銆?/p>
綾繪柟娉?/strong>
鉶界劧涔嬪墠鐨勮寖渚嬮兘鏄悜綾葷殑瀹炰緥鍙戦€佹秷鎭紝浣嗕綘涔熷彲浠ュ悜綾昏嚜韜彂閫佹秷鎭€傦紙榪欓噷鐨勭被锛屽彲浠ヨ鐞嗚В涓虹敱榪愯鏃剁敓鎴愮殑聽綾?鐨勫璞°€傦級鍚戜竴涓被鍙戦€佹秷鎭椂锛岃鏂規硶蹇呴』鍦ㄤ箣鍓嶈澹版槑涓虹被鏂規硶锛岃€屼笉鏄疄渚嬫柟娉曘€傜被鏂規硶鍜?C++ 涓殑闈欐€佹柟娉曞緢鐩鎬技銆?/p>
浣犻€氬父浼氬皢綾繪柟娉曠敤浣滃伐鍘傛柟娉曪紝鍊熶互鍒涘緩璿ョ被鐨勬柊鐨勫疄渚嬫垨鑰呰闂笌璿ョ被鐩稿叧鐨勬煇浜涘叡鏈変俊鎭€傜被鏂規硶鐨勫0鏄庤娉曞拰瀹炰緥鏂規硶鐨勫嶮鍒嗙溮鍍忥紝涓嶅悓涔嬪鏄柟娉曠被鍨嬫爣璿嗙鏄竴涓?+ 鍔犲彿锛岃€屼笉鏄?鈥?鍑忓彿銆?/p>
涓嬮潰鐨勪緥瀛愬睍紺轟簡濡備綍鎶婁竴涓被鏂規硶褰撲綔璿ョ被鐨勫伐鍘傛柟娉曡繘琛岃皟鐢ㄣ€傚湪鏈緥涓紝array 鏂規硶鏄燦SArray 綾葷殑涓€涓被鏂規硶锛屽苟涓旇聽NSMutableArray 綾葷戶鎵褲€傚畠浼氱粰榪欎釜綾葷殑鏂板疄渚嬪垎閰嶅唴瀛樺苟灝嗚繖涓疄渚嬪垵濮嬪寲锛屾渶鍚庢妸瀹冭繑鍥炵粰浣犵殑浠g爜銆?/p>
NSMutableArray *myArray = nil;聽 // nil 鏈川涓婄瓑鍚屼簬 NULL
// 鍒涘緩涓€涓柊鏁扮粍锛屽苟灝嗗叾璧嬪€肩粰 myArray 鍙橀噺銆?br>
myArray = [NSMutableArray array];
涓€涓睘鎬э紝鎸夐€氬父鐨勭悊瑙e氨鏄璞″皝瑁呯殑鐘舵€侀噷鐨勪竴欏廣€傚畠瑕佷箞鏄竴涓壒鎬э紝姣斿鍚嶅瓧鎴栬€呴鑹詫紱瑕佷箞鏄笌鍙︿竴涓垨澶氫釜鍏朵粬瀵矽薄鐨勫叧鑱斻€傚璞$殑綾誨畾涔変簡涓€涓帴鍙o紝浣跨敤璿ュ璞$殑鐢ㄦ埛鍙互鑾峰彇锛坓et锛夊拰璁劇疆锛坰et锛夊皝瑁呭睘鎬т腑鐨勬暟鍊箋€傝€屾墽琛岃繖涓姛鑳界殑鏂規硶灝卞彨鍋氬瓨鍙栨柟娉曘€?/p>
瀛樺彇鏂規硶鍏辨湁涓ょ锛屼笖閮借絎﹀悎涓€濂楀懡鍚嶈綰︺€傗€淕etter锛堝彇鍊煎櫒锛夆€濆瓨鍙栨柟娉曡兘澶熻繑鍥炴煇涓睘鎬х殑鍊鹼紝瀹冪殑鏂規硶鍚嶅拰璿ュ睘鎬у悓鍚嶃€傗€淪etter锛堣祴鍊煎櫒锛夆€濆瓨鍙栨柟娉曡兘澶熺粰鏌愪釜灞炴€ц祴浜堟柊鐨勫€鹼紝瀹冪殑鍛藉悕瑙勭害鏄爏et灞炴€у悕縐? 榪欐牱鐨勫艦寮忥紝灞炴€у悕縐扮殑棣栧瓧姣嶅ぇ鍐欍€傚湪 Objective-C 妗嗘灦涓紝鍙湁涓ユ牸鎸夌収瑙勭害瀵瑰瓨鍙栨柟娉曡繘琛屽懡鍚嶆墠鑳藉疄鐜板縐嶆妧鏈€?/p>
Objective-C 鎻愪緵浜?strong>宸插0鏄庣殑灞炴€?/strong>锛屽彲浠ヤ綔涓哄0鏄庣殑渚垮埄閫斿緞锛屾湁鏃惰繕鑳戒綔涓哄瓨鍙栨柟娉曠殑瀹炵幇銆傚湪鈥滀綘鐨勭涓€涓?iOS 搴旂敤鈥濇暀紼嬩腑锛屼綘鏇劇粡澹版槑浜喡爑serName 灞炴€э細
@property (nonatomic, copy) NSString *userName;
宸插0鏄庣殑灞炴€т嬌寰?getter 鍜?setter 鏂規硶鏃犻渶鍦ㄧ被閲屾樉寮忓0鏄庛€傜溮鍙嶏紝浣犲湪澹版槑灞炴€ф椂鍙互鍐衝畾鍏跺叿浣撹涓烘柟寮忥紝鐒跺悗瑕佹眰緙栬瘧鍣ㄥ熀浜庡睘鎬у0鏄庯紝鐢熸垚锛堟垨璿村壋寤猴級瀹為檯鍙敤鐨?getter 鍜?setter 鏂規硶銆傚凡澹版槑鐨勫睘鎬у噺灝戜簡澶ч噺涓嶅繀瑕佺殑浠g爜锛岃妭鐪佸紑鍙戣€呯殑鏃墮棿锛屽苟涓旇浣犵殑浠g爜鏇村姞娓呯埥銆佸噺灝戝嚭閿欑殑鍙兘銆?/p>
鍦ㄧ被鎺ュ彛鏂囦歡涓紝瑕佸寘鍚睘鎬у0鏄庡拰鏂規硶澹版槑銆傚熀鏈殑澹版槑瑕佷嬌鐢燖property聽緙栬瘧鍣ㄦ寚浠わ紝鍚庨潰鏄睘鎬х殑綾誨瀷鍜屽悕縐般€備綘榪樺彲浠ヤ負灞炴€ц瀹氫笉鍚岀殑閫夐」锛屼篃灝辨槸璿村彲浠ヨ皟鏁村瓨鍙栨柟娉曠殑鍏蜂綋琛屼負鏂瑰紡锛屾瘮濡傚睘鎬ф槸鍚︿負寮卞紩鐢紝鎴栬€呮槸鍚︿負鍙灞炴€с€傝繖浜溳€夐」鍐欏湪聽@property聽鎸囦護鍚庤竟鐨勫渾鎷彿涓€?/p>
涓嬭竟鐨勫嚑琛屼唬鐮佸睍紺轟簡鏇村灞炴€у0鏄庣殑渚嬪瓙锛?/p>
@property BOOL flag;聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 // 榛樿鏄彧澹版槑綾誨瀷鍜屽悕縐?br>
@property (copy) NSString *nameObject;聽 // 鍦ㄨ祴鍊艱繃紼嬩腑鎷瘋礉瀵矽薄
鍦ㄧ被鐨勫疄鐜頒唬鐮佷腑锛屼綘瑕佷嬌鐢燖synthesize聽緙栬瘧鍣ㄦ寚浠ゆ潵瑕佹眰緙栬瘧鍣ㄦ牴鎹0鏄庣殑鎯呭喌锛岀敓鎴愬瓨鍙栨柟娉曪細
@synthesize flag;
浣犱篃鍙互鎶娐燖synthesize聽璿彞鏀懼埌涓€琛岄噷闈細
@synthesize flag, nameObject, rootView;
鍦燖synthesize聽鎸囦護涓紝浣犺繕鍙互鍛戒護緙栬瘧鍣ㄦ坊鍔犵溮搴旂殑瀹炰緥鍙橀噺鍒扮被瀹氫箟涓幓銆傝澧炲姞涓€涓疄渚嬪彉閲忥紝鍦ㄥ睘鎬х殑鍚嶇О鍚庨潰鍐欎竴涓瓑鍙鳳紝鐒跺悗鍐欎綘鎯寵鐨勫疄渚嬪彉閲忓悕縐幫細
@synthesize nameObject=_nameObject;
鍧楀璞?/strong>鏄皝瑁呬簡涓€緋誨垪鍔熻兘鐨勪竴涓璞★紝鎴栬€呮洿閫氫織鍦拌锛屽畠鏄竴涓唬鐮佺墖孌碉紝鑳藉鍦ㄤ換浣曟椂鍒昏鎵ц銆傚畠浠湰璐ㄤ笂灝辨槸鍙Щ妞嶇殑鍖垮悕鐨勫嚱鏁幫紝鍙互浣滀負鍏朵粬鏂規硶鐨勫弬鏁頒紶鍏ワ紝涔熷彲浠ヤ綔涓哄叾浠栨柟娉曟垨鍑芥暟鐨勮繑鍥炲€箋€傚潡瀵矽薄鏈韓鏈夊惈綾誨瀷鐨勫弬鏁拌〃锛屽彲鑳藉甫鏈変笉紜畾鐨勬垨宸插0鏄庣殑榪斿洖鍊肩被鍨嬨€備綘鍙互鎶婁竴涓潡瀵矽薄璧嬪€肩粰鏌愪釜鍙橀噺锛岀劧鍚庡湪浣犻渶瑕佺殑鏃跺€欏儚璋冪敤鍑芥暟涓€鏍瘋皟鐢ㄥ畠灝辮浜嗐€?/p>
鑴卞瓧絎︼紙^锛夋槸鍧楃殑璿硶鏍囪銆傝繕鏈夋寜鐓ф垜浠啛鎮夌殑鍙傛暟璿硶瑙勭害鎵€瀹氫箟鐨勮繑鍥炲€間互鍙婂潡瀵矽薄鐨勪富浣擄紙涔熷氨鏄彲浠ユ墽琛岀殑浠g爜锛夈€備笅鍥炬槸濡備綍鎶婂潡瀵矽薄璧嬪€肩粰涓€涓彉閲忕殑璿硶璁茶В锛?/p>
鎺ヤ笅鏉ワ紝鎸夌収璋冪敤鍑芥暟鐨勬柟寮忚皟鐢ㄥ潡瀵矽薄鍙橀噺灝卞彲浠ヤ簡锛?/p>
int result = myBlock(4); // 緇撴灉鏄?28
鍧楀璞″彲浠ュ湪灞€閮ㄤ綔鐢ㄥ煙涔嬪唴鍏變韓鏁版嵁銆傚潡瀵矽薄鐨勮繖涓壒鎬ч潪甯告湁鐢紝鍋囪浣犲疄鐜頒簡涓€涓柟娉曪紝璿ユ柟娉曞畾涔変簡涓€涓潡瀵矽薄锛岄偅涔堣繖涓潡瀵矽薄灝卞彲浠ヨ闂鏂規硶鍐呯殑灞€閮ㄥ彉閲忓拰鍙傛暟锛堝寘鎷爢鏍堝彉閲忥級锛屼篃鍙互璁塊棶鍑芥暟鍜屽叏灞€鍙橀噺锛岀敋鑷衝寘鎷疄渚嬪彉閲忋€傝繖縐嶈闂槸鍙鎬ц川鐨勶紝浣嗗鏋滃彉閲忓0鏄庝嬌鐢ㄤ簡聽__block聽淇グ絎︼紝鍒欏畠鐨勫€煎彲浠ュ湪鍧楀璞′腑琚敼鍙樸€傚嵆浣垮湪鏂規硶鎴栧嚱鏁板皝瑁呯殑鍧楀璞¤繑鍥炰竴涓€煎苟閿€姣佸叾浣滅敤鍩熶箣鍚庯紝鍙瀵矽鍧楀璞$殑寮曠敤涓嶆秷澶憋紝灞€閮ㄥ彉閲忎綔涓哄潡瀵矽薄鐨勪竴閮ㄥ垎灝嗕竴鐩村瓨鍦ㄣ€?/p>
鍜屾柟娉曘€佸嚱鏁扮殑鍙傛暟綾諱技锛屽潡瀵矽薄鍙互琚綋浣滀竴涓洖璋冨嚱鏁般€傚綋鏂規硶鎴栧嚱鏁拌璋冪敤鏃訛紝瀹冧滑浼氭墽琛屾煇浜涘姛鑳斤紝騫跺湪鍚堥€傜殑鏃舵満鍥炶皟涔嬪墠璋冪敤瀹冧滑鐨勪唬鐮侊紙閫氳繃鍧楀璞★級锛屾潵璿鋒眰闄勫姞淇℃伅锛屾垨鑰呬粠涓幏鍙栫▼搴忕壒瀹氱殑琛屼負銆傚潡瀵矽薄璁╄皟鐢ㄨ€呰兘澶熷湪璋冪敤鐨勬椂鍊欐彁渚涘洖璋冧唬鐮併€傚潡瀵矽薄涓嶄細灝嗚姹傛暟鎹墦鍖呭埌涓€涓€滀笂涓嬫枃鈥濈粨鏋勪腑锛岃€屾槸浠庢柟娉曟垨鍑芥暟鐨勭溮鍚屼綔鐢ㄥ煙涓崟鑾鋒暟鎹€傜敱浜庡潡瀵矽薄浠g爜鏃犻渶鍦ㄥ崟鐙殑鏂規硶鎴栧嚱鏁頒腑鍙﹀瀹炵幇锛屾墍浠ヤ綘鐨勫疄鐜頒唬鐮佽兘澶熷彉寰楁洿鍔犵畝媧侊紝鍙鎬ф洿寮恒€?/p>
Objective-C 妗嗘灦鏈夎澶氬甫鏈夊潡瀵矽薄鍙傛暟鐨勬柟娉曘€傛瘮濡傝繖孌碉紝鍦?UIKit 妗嗘灦閲屽0鏄庝簡濡備笅綾繪柟娉曪紝瀹冩湁涓や釜鍧楀璞″弬鏁幫細
+ (void)animateWithDuration:(NSTimeInterval)duration delay:(NSTimeInterval)delay options:(UIViewAnimationOptions)options animations:(void (^)(void))animations completion:(void (^)(BOOL finished))completion;
榪欎釜鏂規硶鍙互璁╀綘鐢熸垚涓€涓姩鐢繪晥鏋溿€傜涓€涓潡瀵矽薄鍙傛暟鐢ㄦ潵閫夋嫨鍔ㄧ敾鏁堟灉锛涚浜屼釜鍧楀璞″弬鏁版寚瀹氬姩鐢誨畬鎴愬悗瑕佹墽琛岀殑浠誨姟銆備笅闈㈢殑渚嬪瓙涓紝絎竴涓潡瀵矽薄灝嗚鍥懼姩鐢葷殑緇撳熬 alpha 鍊艱涓?0锛堣瀹冨彉鎴愰€忔槑鐨勶級銆傜浜屼釜鍧楀璞″墶鎶婃暣涓鍥劇Щ闄ゃ€?/p>
[UIView animateWithDuration:0.2 animations:^{
聽 聽 } completion: ^(BOOL finished) {
鍗忚鍙互鐢ㄦ潵澹版槑鑳藉鍦ㄤ換浣曠被涓疄鐜扮殑鏂規硶锛岀敋鑷抽偅浜涘疄鐜拌鏂規硶鐨勭被緇ф壙鑷埆鐨勭被銆傚崗璁柟娉曞畾涔夌殑琛屼負鏄嫭絝嬩簬浠諱綍涓€涓被鐨勩€傚崗璁彲浠ュ畾涔変竴涓姹傚叾浠栫被蹇呴』鎵胯瀹炵幇鐨勬帴鍙c€備篃灝辨槸璿達紝濡傛灉浣犵殑綾誨疄鐜頒簡鍗忚涓殑鏂規硶锛岄偅涔堣繖涓被灝辨壙璿鴻瀹屾垚璿ュ崗璁€?/p>
浠庡疄鐢ㄧ殑瑙掑害璿存潵锛屽崗璁畾涔変簡涓€緋誨垪鏂規硶锛屽苟寤虹珛璧峰璞′箣闂寸殑鈥滃悎綰︹€濄€傝€岃繖浜涘璞′笉蹇呮槸浠諱綍涓€涓‘瀹氱殑綾葷殑瀹炰緥銆傝繖涓悎綰︿嬌寰楀璞′箣闂村彲浠ヨ繘琛屼氦嫻併€傛煇涓璞℃兂瑕佸憡璿夊彠涓€涓璞★紝椹笂灝嗚闈複鐨勪簨浠訛紝鎴栬€呮兂瑕佽闂叧浜庨偅浜涗簨浠剁殑寤鴻銆?/p>
UIApplication聽綾誨疄鐜頒簡鎵€闇€鐨勫簲鐢ㄨ涓恒€備綘涓嶅繀涓轟簡鎺ユ敹綆€鍗曠殑搴旂敤褰撳墠鐘舵€佺殑娑堟伅鑰屽壋寤轟竴涓燯IApplication聽鐨勫瓙綾匯€俇IApplication聽綾諱細璋冪敤鎸囧畾鐨勫鎵樺璞′腑鐨勭壒瀹氭柟娉曟潵浼犻€掗偅浜涙秷鎭€傚疄鐜頒簡聽UIApplicationDelegate聽鍗忚鏂規硶鐨勫璞″氨鑳藉鎺ユ敹鍒伴偅浜涙秷鎭簡锛屽苟涓旇兘澶熸彁渚涘悎閫傜殑鍙嶉銆?/p>
鍦ㄦ壙璿哄疄鐜般€佹垨閲囩敤鏌愪釜鍗忚鐨勬帴鍙d唬鐮佷腑锛屽崗璁殑鍚嶇О瑕佸啓鍦ㄧ埗綾誨悕縐板悗杈圭殑涓€瀵瑰皷鎷彿閲岋紙<鈥?gt;锛夈€傚湪鈥滀綘鐨勭涓€涓?iOS 搴旂敤鈥濇暀紼嬮噷锛屼綘閲囩敤浜喡燯ITextFieldDelegate聽鍗忚锛?/p>
@interface HelloWorldViewController : UIViewController <UITextFieldDelegate> {
鍦ㄥ疄鐜頒腑锛屼綘鏃犻渶澹版槑鍗忚鏂規硶銆?/p>
鍗忚鐨勫0鏄庣湅璧鋒潵鍜岀被鎺ュ彛寰堢溮浼鹼紝涓嶈繃涓嶅悓鐨勬槸鍗忚娌℃湁鐖剁被锛屽苟涓斾笉鍚換浣曞疄渚嬪彉閲忥紙浣嗗畠浠兘澶熷0鏄庡睘鎬э級銆備笅闈㈢殑渚嬪瓙灞曠ず濡備綍澹版槑鍙湁涓€涓柟娉曠殑綆€鍗曞崗璁細
@protocol MyProtocol
瀵逛簬璁稿濮旀墭鍗忚鑰岃█锛岄噰鐢ㄤ竴涓崗璁氨絳変簬鏄疄鐜拌鍗忚涓畾涔夌殑鏂規硶銆傛湁浜涘崗璁姹備綘鏄庣‘澹版槑浣犱細鏀寔璿ュ崗璁紝鑰屾湁浜涘崗璁墶鏄棦鍖呭惈蹇呴』瀹炵幇鐨勬柟娉曪紝涔熷寘鍚彲閫夋柟娉曘€?/p>
褰撲綘鍦?Objective-C 妗嗘灦涓祻瑙堝ご鏂囦歡鏃訛紝浣犲緢蹇氨浼氱湅鍒扮被浼艱繖鏍風殑璿彞锛?/p>
@interface NSDate (NSDateCreation)
榪欒璿彞澹版槑浜嗕竴涓寖鐣寸被锛坈ategory锛夛紝鍏惰娉曟槸灝嗚寖鐣寸被鐨勫悕縐板寘瑁瑰湪涓€瀵瑰渾鎷彿涓€?strong>鑼冪暣綾?/strong>鏄?Objective-C 璿█鐨勪竴涓壒鎬э紝璁╀綘鑳藉鎵╁睍鏌愪釜綾葷殑鎺ュ彛锛岃€屾棤闇€鍒涘緩瀹冪殑瀛愮被銆傝寖鐣寸被涓殑鏂規硶灝嗘垚涓烘綾葷殑涓€閮ㄥ垎锛堝湪浣犵殑紼嬪簭浣滅敤鍩熻寖鍥村唴锛夛紝騫朵細琚綾葷殑鎵€鏈夊瓙綾葷戶鎵褲€備綘鍙互鍚戞綾夥紙鎴栧畠鐨勫瓙綾夥級鐨勪換鎰忎竴涓疄渚嬪彂閫佹秷鎭潵璋冪敤鑼冪暣綾諱腑澹版槑鐨勬柟娉曘€?/p>
浣犲彲浠ュ埄鐢ㄨ寖鐣寸被鍦ㄤ竴涓ご鏂囦歡閲岀粍緇囦簰鐩稿叧鑱旂殑鏂規硶澹版槑銆備綘鐢氳嚦鍙互鍦ㄤ笉鍚岀殑澶存枃浠朵腑鏀懼靉涓嶅悓鐨勮寖鐣寸被澹版槑銆侰ocoa Touch 妗嗘灦鍜?Cocoa 妗嗘灦鍦ㄥ嚑涔庢墍鏈夊ご鏂囦歡涓兘鍒╃敤浜嗚繖涓妧鏈紝浠g爜鎵嶅姝ゆ槑鏅般€備綘榪樿兘浣跨敤鍖垮悕鑼冪暣綾夥紙涔熷氨鏄湪鍦嗘嫭鍙蜂腑涓嶅啓浠諱綍瀛楃锛夛紝榪欐牱鍙互鎶婂疄渚嬪彉閲忛殣鈃忓湪縐佹湁鐨勫疄鐜版枃浠墮噷銆?/p>
鍦?Objective-C 璿█涓湁涓€浜涚壒瀹氱殑璿嶆眹锛屼綘瑕侀伩鍏嶅湪澹版槑鍙橀噺鏃朵嬌鐢ㄨ繖浜涜瘝姹囷紝鍥犱負瀹冧滑閮芥湁涓撻棬鐨勭敤閫斻€傚叾涓湁涓€浜涙槸緙栬瘧鍣ㄦ寚浠わ紝浠?@ 絎﹀彿寮€澶達紙渚嬪聽@interface聽鍜屄燖end锛夈€傛湁浜涗繚鐣欒瘝姹囨槸棰勫畾涔夌被鍨嬶紝浠ュ強鍜岃繖浜涚被鍨嬫湁鍏崇殑鏂囧瓧銆侽bjective-C 浣跨敤涓€緋誨垪涓嶅睘浜?ANSI C 鐨勯瀹氫箟綾誨瀷鍜岃瘝姹囥€傚湪鏌愪簺鎯呭喌涓嬶紝榪欎簺綾誨瀷鍜岃瘝姹囦細浠f浛瀹冧滑鍦?ANSI C 涓殑瀵瑰簲鑰呫€備笅琛ㄥ垪鍑轟簡鍑犱釜闈炲父閲嶈鐨勭被鍨嬶紝鍖呮嫭姣忎釜綾誨瀷鎵€鍏佽鐨勮瘝姹囥€?/p>
綾誨瀷銆佹弿榪板拰璿嶆眹锛?/strong>
浣犻€氬父浼氬湪浠g爜鎺掗敊浠ュ強嫻佺▼鎺у埗涓嬌鐢ㄨ繖浜溳瀹氫箟鐨勭被鍨嬪拰璿嶆眹銆傚湪紼嬪簭鐨勬祦紼嬫帶鍒惰鍙ヤ腑锛屼綘鍙互閫氳繃媯€嫻嬬壒瀹氳瘝姹囨潵鍒ゆ柇濡備綍閲囧彇涓嬩竴姝ュ姩浣溿€備緥濡傦細
NSDate *dateOfHire = [employee dateOfHire];
鎶婁唬鐮佽В閲婁竴涓嬶細濡傛灉瀵矽薄浠h〃鐨勮仒鐢ㄦ棩鏈熶笉涓郝爊il锛屼篃灝辨槸璿存槸涓€涓悎娉曠殑瀵矽薄锛岄偅涔堥€昏緫灝辨湞涓€涓壒瀹氱殑鏂瑰悜鍙戝睍銆備笅杈規槸榪欐浠g爜鐨勭畝鍖栫増锛屾晥鏋滄槸鐩稿悓鐨勶細
NSDate *dateOfHire = [employee dateOfHire];
浣犵敋鑷衝彲浠ユ妸浠g爜綆€鍖栨垚榪欎釜鏍峰瓙锛堝墠鎻愭槸浣犱笉闇€瑕佸紩鐢燿ateOfHire聽瀵矽薄锛夛細
if ([employee dateOfHire]) {
澶勭悊甯冨皵鍊肩殑鏂規硶鏄竴鏍風殑銆傚湪榪欎釜渚嬪瓙涓紝isEqual:聽鏂規硶浼氳繑鍥炰竴涓竷灝斿瀷鐨勫€鹼細
BOOL equal = [objectA isEqual:objectB];
浣犲悓鏍峰彲浠ユ寜鐓у墠杈圭渷鐣ヂ爊il聽鐨勬柟寮忔潵綆€鍖栬繖孌典唬鐮併€?/p>
鍦?Objective-C 璿█閲岋紝浣犲彲浠ュ聽nil聽鍙戦€佹秷鎭紝涓嶅繀鎷呭績浠諱綍鍓綔鐢ㄣ€傚叾瀹烇紝鏄牴鏈笉浼氭湁浠諱綍浣滅敤锛屽彧涓嶈繃榪愯鏃朵細榪斿洖聽nil锛屽鏋滄柟娉曟湰鏉ヨ榪斿洖涓€涓璞$殑璿濄€傚彂閫佺粰聽nil聽鐨勬秷鎭繑鍥炵殑鍊煎彧瑕佹槸涓€涓璞★紝浠g爜灝辮兘緇х畫姝e父宸ヤ綔銆?/p>
鍙﹀涓や釜閲嶈鐨勯鐣欒瘝姹囨槸聽self聽鍜屄爏uper銆傚墠鑰吢爏elf聽鏄釜灞€閮ㄥ彉閲忥紝浣犲彲浠ュ湪娑堟伅瀹炵幇涓妸瀹冪湅鍋氬綋鍓嶅璞¤繘琛屽紩鐢紱瀹冨拰 C++ 璿█涓殑聽this聽鏄竴鏍風殑銆備綘鍙互鐢ㄩ鐣欒瘝姹嚶爏uper聽鏇挎崲聽self锛屼絾鍙兘浣滀負娑堟伅琛ㄨ揪寮忕殑鎺ユ敹鑰呫€傚鏋滀綘瀵孤爏elf聽鍙戦€佷簡娑堟伅锛岄偅涔堣繍琛屾椂棣栧厛灝變細鍦ㄨ繖涓璞$殑綾諱腑瀵繪壘鐩稿簲鐨勬柟娉曞疄鐜幫紱濡傛灉榪欓噷鎵句笉鍒幫紝閭d箞瀹冧細杞€屽埌鍏剁埗綾諱腑鍘繪煡鎵撅紙濡傛寰€澶嶏級銆傚鏋滀綘瀵孤爏uper聽鍙戦€佹秷鎭紝榪愯鏃墮鍏堝氨鏄幓鐖剁被涓鎵炬柟娉曠殑瀹炵幇銆?/p>
鍒╃敤聽self聽鍜屄爏uper聽涓昏鏄負浜嗗彂閫佹秷鎭€傚綋琚皟鐢ㄧ殑鏂規硶鍦爏elf聽鐨勭被涓瀹炵幇涔嬪悗锛屼綘灝卞彲浠ュ悜聽self聽鍙戦€佹秷鎭紝渚嬪锛?/p>
[self doSomeWork];
self 榪樺彲浠ョ敤鍦ㄧ偣璿硶涓紝鐢ㄦ潵璋冪敤鐢卞凡澹版槑鐨勫睘鎬х敓鎴愮殑瀛樺彇鏂規硶锛屼緥濡傦細
NSString *theName = self.name;
浣犲父甯鎬細鍦ㄩ噸杞斤紙鏃㈤噸鏂板疄鐜板凡鏈夌殑鏂規硶锛変粠鐖剁被緇ф壙鑰屾潵鐨勬柟娉曟椂鍚懧爏uper聽鍙戦€佹秷鎭€傚湪榪欑鎯呭喌涓嬶紝琚皟鐢ㄧ殑鏂規硶鎷ユ湁鍜岄噸杞藉悗鏂規硶鐨勭鍚嶇溮鍚屻€?/p>
娉細鏈€奿OS搴旂敤寮€鍙戝靉闂ㄦ寚鍗椼€嬭瘧鑷嫻鏋滃畼鏂?iOS 寮€鍙戣€呰祫婧愬簱涓殑聽Start Developing
iOS Apps Today聽緋誨垪鏁欑▼銆?/p>
綾誨拰瀵矽薄
- (id)initWithString:(NSString *)aName
{
聽 聽 // 鍦ㄨ繖閲屼功鍐欎唬鐮?br>
}
{
聽 聽 // 鍦ㄨ繖閲屼功鍐欎唬鐮?br>
}
@end
鏂規硶鍜屾秷鎭?/h3>
宸插0鏄庣殑灞炴€у拰瀛樺彇鏂規硶
@property (readonly) UIView *rootView;聽 // 鍙0鏄?getter 鏂規硶
@synthesize nameObject;
@synthesize rootView;
鍧楀璞?/h3>
聽 聽 view.alpha = 0.0;
聽 聽 if (finished == YES)
聽 聽 聽 聽 [view removeFromSuperview];
}];
鍗忚鍜岃寖鐣寸被
}
@end
- (void)myProtocolMethod;
@end
棰勫畾涔夌被鍨嬪拰緙栫爜絳栫暐
id 鈥?鍔ㄦ€佸璞$被鍨嬨€傚姩鎬佺被鍨嬪拰闈欐€佺被鍨嬪璞$殑鍚﹀畾璿嶆眹涓郝爊il銆?br>
Class 鈥?鍔ㄦ€佺被鐨勭被鍨嬨€傚畠鐨勫惁瀹氳瘝姹囦負聽Nil銆?br>
SEL 鈥?閫夋嫨鍣ㄧ殑鏁版嵁綾誨瀷锛坱ypedef锛夛紱榪欑鏁版嵁綾誨瀷浠h〃榪愯鏃剁殑涓€縐嶇鍚嶆柟娉曘€傚畠鐨勫惁瀹氳瘝姹囦負聽NULL銆?br>
BOOL 鈥?甯冨皵鍨嬨€備唬琛ㄥ畠鐨勫€肩殑璿嶆眹涓郝燳ES聽鍜屄燦O銆?/p>
if (dateOfHire != nil) {
聽 聽 // 澶勭悊姝ょ鎯呭喌
}
if (dateOfHire) {
聽 聽 // 澶勭悊姝ょ鎯呭喌
}
聽 聽 // 澶勭悊姝ょ鎯呭喌
}
if (equal == YES) {
聽 聽 // 澶勭悊姝ょ鎯呭喌
}
最後更新:2017-04-04 07:03:36