锘??xml version="1.0" encoding="utf-8" standalone="yes"?>欧美激情在线免费观看,午夜久久美女,欧美国产日韩一区二区http://m.shnenglu.com/cuigang/category/20729.html/*=========================================*/zh-cnSat, 23 Nov 2013 08:51:38 GMTSat, 23 Nov 2013 08:51:38 GMT60鐢∣BJC緙栫▼ 9 - Conventionshttp://m.shnenglu.com/cuigang/archive/2013/11/23/204397.htmlcuigangcuigangSat, 23 Nov 2013 03:33:00 GMThttp://m.shnenglu.com/cuigang/archive/2013/11/23/204397.htmlhttp://m.shnenglu.com/cuigang/comments/204397.htmlhttp://m.shnenglu.com/cuigang/archive/2013/11/23/204397.html#Feedback0http://m.shnenglu.com/cuigang/comments/commentRss/204397.htmlhttp://m.shnenglu.com/cuigang/services/trackbacks/204397.html鐢∣BJC緙栫▼ 9 - Conventions
  • 鏈変簺鍚嶅瓧鍦ㄤ綘鐨刟pp閲屽繀欏誨敮涓
  • 綾誨悕蹇呴』鍞竴錛屽洜姝よ浣跨敤鍓嶇紑錛屽緩璁嬌鐢ㄤ笁涓瓧姣嶇殑鍓嶇紑錛岄伩鍏嶅拰Cocoa妗嗘灦鍐茬獊錛岀被鍚嶄嬌鐢ㄥ悕璇?/span>
  • 鏂規硶鍚嶄笉瑕佸墠緙錛屼互灝忓啓瀛楁瘝寮濮嬶紝澶氫釜鍙傛暟鏃訛紝鍏跺畠鍙傛暟瑕佹湁鍙傛暟鍚嶃傜涓涓崟璇嶆寚鏄庢柟娉曠殑鏁堟灉錛屾垨鑰呬竴涓涓虹瓑絳夈?/span>
  • 濡傛灉鏂規硶鍙傛暟鍖呮嫭error錛屽畠搴旇鏄渶鍚庝竴涓弬鏁幫紝濡傛灉鍙傛暟鍖呮嫭涓涓猙lock錛屽畠搴旇鍦ㄦ渶鍚庯紝涓嶅簲璇ユ湁澶氫釜block鍙傛暟銆傛柟娉曞悕闀垮害瑕侀備腑銆?/span>
  • 閬垮厤緙╁啓
  • 鍒嗙被閲岀殑鏂規硶鍚嶅姞涓婂墠緙錛岄伩鍏嶅啿紿併?/span>
  • 灞閮ㄥ彉閲忓簲璇ユ槸鍞竴鐨勩?/span>
  • 璁塊棶鍣ㄧ殑鍚嶇О瑕佺鍚堟儻渚嬨傚惁鍒欏湪KVC鏃跺彲鑳戒笉鑳藉伐浣溿?/span>
  • 宸ュ巶鏂規硶鍚嶅簲璇ヤ互綾誨悕寮濮嬶紙鎴栬呯埗綾葷殑綾誨悕錛?/span>


cuigang 2013-11-23 11:33 鍙戣〃璇勮
]]>
鐢∣BJC緙栫▼ 8 - Dealing with Errorshttp://m.shnenglu.com/cuigang/archive/2013/11/23/204396.htmlcuigangcuigangSat, 23 Nov 2013 03:14:00 GMThttp://m.shnenglu.com/cuigang/archive/2013/11/23/204396.htmlhttp://m.shnenglu.com/cuigang/comments/204396.htmlhttp://m.shnenglu.com/cuigang/archive/2013/11/23/204396.html#Feedback0http://m.shnenglu.com/cuigang/comments/commentRss/204396.htmlhttp://m.shnenglu.com/cuigang/services/trackbacks/204396.html鐢∣BJC緙栫▼ 8 - Dealing with Errors
浣跨敤NSError錛?/span>

濮旀墭鏂規硶浼氫駭鐢烢rror
-(void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error;
NSError鍖呮嫭閿欒鐮侊紝閿欒涓氬姟棰嗗煙domain鍜屾弿榪般備負淇濊瘉姣忎釜閿欒鐮佸敮涓錛屼嬌鐢ㄤ簡domain錛孨SURLConnection鐨刣omain鏄疦SURLErrorDomain

閫氳繃寮曠敤鍙傛暟浼犻扙rror
-(BOOL)WriteToURL:(NSURL *)aURL option:(NSDataWritingOptions)mask error:(NSError**) errorPtr;
//////////////////////////
NSError *anyError;
BOOL sucess = [receivedData writeToURL:someLocalFileURL option:0 error:&anyError];
if(!success){
    NSLog(@"Write failed with error: %@", anyError);
    
//present error to user
}
// 濡傛灉writeToURL鍙戠敓閿欒錛岃繑鍥濶O錛屽茍涓旀洿鏂癮nyError
// 濡傛灉浣犲error涓嶆劅鍏磋叮錛屽彲浠ヤ紶閫扤ULL

浜х敓浣犺嚜宸辯殑error
NSString *domain = @"com.MyCompany.MyApplication.ErrorDomain";
NSString *desc = NSLocalizedString(@"Unable to,,,"@"");
NSDictionary *userInfo = @{NSLocalizedDescriptionKey : desc};

NSError *error = [NSError errorWithDomain:domain code:-101 userInfo:userInfo];
//////////////////////
- (BOOL) doSomethingThatMayGenerateAnError:(NSError **)errorPtr;

//////////////////
-(BOOL)doSomethingThatMayGenerateAnError:(NSError **)errorPtr{
  
//,,,
  
// error occurred
  if(errorPtr){
    
*errorPtr = [NSError errorWithDomain:,,,  code:,,, userInfo:,,,];
  }
  
return NO;
}

浣跨敤寮傚父
OBJC鍍忓叾浠栬璦涓鏍鋒敮鎸佸紓甯革紝NSException鍜孨SError涓鏍鋒槸涓涓璞?/span>
@try{
   
// 鍙兘瀵艱嚧寮傚父
}
@catch (NSException *exception){
   
// 澶勭悊寮傚父
}
@finally{
   
// 娓呯悊錛屽鐞嗘棤寮傚父鎯呭喌
}







cuigang 2013-11-23 11:14 鍙戣〃璇勮
]]>
鐢∣BJC緙栫▼ 7 - Working with Blockshttp://m.shnenglu.com/cuigang/archive/2013/11/21/204370.htmlcuigangcuigangThu, 21 Nov 2013 11:20:00 GMThttp://m.shnenglu.com/cuigang/archive/2013/11/21/204370.htmlhttp://m.shnenglu.com/cuigang/comments/204370.htmlhttp://m.shnenglu.com/cuigang/archive/2013/11/21/204370.html#Feedback0http://m.shnenglu.com/cuigang/comments/commentRss/204370.htmlhttp://m.shnenglu.com/cuigang/services/trackbacks/204370.html
鐢∣BJC緙栫▼ 7 - Working with Blocks

Block 鏄璦綰у埆鐨勭壒鎬с傚畠鏄竴涓狾BJC鐨勫璞★紝鍙互琚姞鍏ュ鍣ㄥNSArray鎴朜SDictionary銆傚畠鍙互鎹曡幏鎵澶勪綔鐢ㄥ煙鐨勬暟鍊鹼紝闈炲父綾諱技鍏跺畠璇█鐨刢losure鎴栬卨ambda銆?/span>

璇硶
^{
    NSLog(@"This is a block");
}

鍙互鍍忓嚱鏁版寚閽堥偅鏍峰0鏄庝竴涓彉閲忔潵鎸佹湁榪欎釜block
void (^simpleBlock)(void);
simpleBlock = ^{
   NSLog(@"This is a block");
}; // 娉ㄦ剰榪欓噷鏈変竴涓垎鍙?/span>

涔熷彲浠ヨ繖鏍峰啓
void (^simpleBlock)(void= ^{
    NSLog(@"This is a block");
};

璋冪敤榪欎釜block
simpleBlock();

甯︿笂鍙傛暟鍜岃繑鍥炲?/span>
^double (double firstValue, double secondValue){
    
return firstValue*secondValue;
}
// ,,,,,,,,,,,
double (^multiplyTwoValues)(doubledouble= 
    
^(double firstValue, double secondValue) { // 榪斿洖鍊肩被鍨嬪彲浠ョ渷鐣?/span>
          return firstValue*secondValue;
     };

double result = multiplyTwoValues(2,4);
NSLog(@"The result is %f", result);

鎹曡幏Enclosing Scope鍐呯殑鍊?/span>錛屼竴鏃︽崟鑾鳳紝榪欎釜鍊煎氨涓嶄細鍙樺寲錛屽嵆渚垮悗緇敼鍙樿繖涓?/span>
-(void)testMethod{
  
int anInteger = 42;
  
void (^testBlock)(void= ^{
       NSLog(@"Integer is: %i", anInteger);
  }
  anInteger = 84;
  testBlock(); // 浠嶇劧杈撳嚭42
}

浣跨敤__block
__block int anInteger = 42;
void (^testBlock)(void= ^{
  NSLog(@"Integer is: %i", anInteger);
};
anInteger = 84:
testBlock();  // output 84;

// ,,,,,,,,,,,,,

_block int anInteger = 42;
void (^testBlock)(void= ^{
  NSLog(@"Integer is: %i", anInteger); // output 42
  anInteger = 100;
};

testBlock();
NSLog(@"Value of original variable is now: %i", anInteger); // output 100;

閫氳繃鍙傛暟浼犻払lock錛屼緥濡傚疄鐜頒竴涓洖璋?/span>
-(IBAction)fetchRemoveInformation:(id)sender{
  [self showProgressIndicator];
  XYZWebTask *task = //,,,

  [task beginTaskWithCallbackBlock:^{
        [self hideProgressIndicator];
      }];
}

// beginTaskWithCallbackBlock 鐨勫畾涔夋槸榪欐牱鐨?/span>

-(void)beginTaskWithCallbackBlock:(void)(^)(void))callbackBlock{
  
//,,,
  callbackBlock();
}

鏈浣沖疄璺墊槸灝哹lock浣滀負鏈鍚庝竴涓弬鏁幫紝榪欐牱渚夸簬闃呰銆?/span>

涔熷彲浠ヤ嬌鐢╰ypedef綆鍖栬娉?/span>
typedef void (^XYZSimpleBlock)(void);
//,,,,,,,,,,,,,,,
XYZSimpleBlock anotherBlock = ^/*,,,*/ };
//,,,,,,,,,,,,
-(void)beginFetchWithCallbackBlock:(XYZSimpleBlock)callbackBlock{
    
//,,,,
    callbackBlock();
}

鍙互灝哹lock浣滀負灞炴?/span>
@interface XYZObject : NSObject
@property (copy) void (^blockProperty)(void); // 蹇呴』浣跨敤copy
@end
//,,,,,,,,,,,,,,
self.blockProperty = ^/* ,,, */ };
self.blockProperty();

閬垮厤寮哄紩鐢ㄥ驚鐜?/span>
鍦╞lock閲屾崟鑾穝elf錛岃濡傚湪涓涓猚allback block閲岋紝浼氬紩鍏ュ唴瀛樼鐞嗛棶棰樸俠lock浼氫細緇存姢涓涓崟鑾峰璞$殑寮哄紩鐢紝鍖呮嫭self
@interface XYZBlockKeeper : NSObject
@property (copy) void (^block)(void);
@end
////////////////////////
@implementation XYZBlockKeeper
-(void)configureBlock{
  self.block = ^{
    [self doSomething];    // 鎹曡幏浜嗕竴涓猻elf鐨勫己寮曠敤
                           
// 寤虹珛浜嗕竴涓己寮曠敤寰幆
  }
}
@end

涓婅堪浠g爜浼氫駭鐢熶竴涓紪璇戣鍛婏紝涓轟簡閬垮厤榪欑鎯呭喌錛屾渶浣沖疄璺墊槸鎹曡幏涓涓猻elf鐨勫急寮曠敤
-(void)configureBlock{
   XYZBlockKeeper * __weak weakSelf = self;
   self.block = ^ {
      [weakSelf doSomething];
   };
}

block鍙互綆鍖栨灇涓撅紙鐣ワ級
block鍙互綆鍖栧茍鍙戜換鍔★紙鐣ワ級





cuigang 2013-11-21 19:20 鍙戣〃璇勮
]]>
鐢∣BJC緙栫▼ 6 - Value and Collectionshttp://m.shnenglu.com/cuigang/archive/2013/11/21/204367.htmlcuigangcuigangThu, 21 Nov 2013 09:34:00 GMThttp://m.shnenglu.com/cuigang/archive/2013/11/21/204367.htmlhttp://m.shnenglu.com/cuigang/comments/204367.htmlhttp://m.shnenglu.com/cuigang/archive/2013/11/21/204367.html#Feedback0http://m.shnenglu.com/cuigang/comments/commentRss/204367.htmlhttp://m.shnenglu.com/cuigang/services/trackbacks/204367.html闃呰鍏ㄦ枃

cuigang 2013-11-21 17:34 鍙戣〃璇勮
]]>
鐢∣BJC緙栫▼ 5 - Working with Protocolshttp://m.shnenglu.com/cuigang/archive/2013/11/21/204364.htmlcuigangcuigangThu, 21 Nov 2013 01:32:00 GMThttp://m.shnenglu.com/cuigang/archive/2013/11/21/204364.htmlhttp://m.shnenglu.com/cuigang/comments/204364.htmlhttp://m.shnenglu.com/cuigang/archive/2013/11/21/204364.html#Feedback0http://m.shnenglu.com/cuigang/comments/commentRss/204364.htmlhttp://m.shnenglu.com/cuigang/services/trackbacks/204364.html鐢∣BJC緙栫▼ 5 - Working with Protocols
鍗忚瀹氫箟浜嗕氦浜掔殑娑堟伅
@protocol XYZPieChartViewDataSource
- (NSUInteger) numberOfSegments;
- (CGFloat)    sizeOfSegmentAtIndex:(NSUInteger)segmentIndex;
- (NSString *) titleForSegmentAtIndex:(NSUInteger)segmentIndex;
@end

鏁版嵁婧愪綔涓篤iew鐨勪竴涓睘鎬э紝鍙鏄鍚堝崗璁殑瀵硅薄灝卞彲浠ワ紝鎵浠ョ被鍨嬫槸id銆?/span>
@interface XYZPieChartView : UIView
@property (weak) id <XYZPieChartViewDataSource> dataSource;
@end
濮旀墭鍜屾暟鎹簮灞炴ч氬父澹版槑涓簑eak錛屼互閬垮厤寮哄紩鐢ㄥ驚鐜?/span>

璁劇疆灞炴т負涓涓笉絎﹀悎鍗忚鐨勫璞★紝灝嗕細寮曡搗涓涓紪璇戞椂璀﹀憡銆?/span>

鍙夋柟娉曪紝浣跨敤@optional 鍜?@required
@protocol XYZPieChartViewDataSource
- (NSUInteger) numberOfSegments;
- (CGFloat)    sizeOfSegmentAtIndex:(NSUInteger)segmentIndex;
@optional
- (NSString *) titleForSegmentAtIndex:(NSUInteger)segmentIndex;
- (BOOL)       shouldExplodeSegmentAtIndex:(NSUInteger)segementIndex;
@required
- (UIColor *)  colorForSegmentAtIndex:(NSUInteger)segementIndex;
@end

榪愯鏃舵鏌ュ彲閫夋柟娉?/span>
濡傛灉涓涓柟娉曟槸鍙夌殑錛岄偅涔堝湪璋冪敤鍓嶅簲璇ユ鏌ュ畠鏄惁瀹炵幇銆?/span>
NSString *thisSegmentTitle; // Local object variables are automatically initialized to nil
if([self.dataSource respondsToSelector:@selector(titleForSegmentAtIndex:)]){
    thisSegmentTitle = [self.dataSource titleForSegmentAtIndex:index];
}

respondsToSelector: 鏂規硶鐢ㄤ簡涓涓猻elector錛孈selector銆?/span>
濡備笂瀹氫箟涓涓鍚堝崗璁殑id綾誨瀷錛岃皟鐢╮espondsToSelector錛屼細浜х敓涓涓紪璇戞椂閿欒錛岃В鍐蟲柟妗堟槸澹版槑瀵硅薄絎﹀悎NSObject鍗忚

浠庡崗璁戶鎵?/span>
鏈浣沖疄璺墊槸錛屼綘鐨勫崗璁緷浠嶯SObject鍗忚銆侼SObject瀵硅薄渚濅粠NSObject鍗忚銆?/span>
涓鏃︿綘鐨勫崗璁緷浠嶯SObject鍗忚錛岄偅涔堜緷浠庝綘鍗忚鐨勪換浣曞璞¢兘蹇呴』瀹炵幇NSObject鍗忚鐨勬柟娉曪紝浣嗗洜涓哄畠浠簲璇ユ槸NSObject鐨勫瓙綾伙紝浣犲氨涓嶅繀鑷繁瀹炵幇榪欎簺NSObject鐨勬柟娉曘備緷浠嶯SObject鍗忚闈炲父鏈夌敤銆?/span>
@protocol MyProtocol <NSObject>

@end

comform 涓涓崗璁?/span>
@interface MyClass : NSObject <MyProtocol, AnotherProtocol>

@end
濡傛灉涓涓被澹版槑浜嗗ぇ閲忕殑鍗忚錛屾剰鍛崇潃浠g爜闇瑕侀噸鏋勬垚澶氫釜灝忕殑綾匯?/span>

涓鏃﹀0鏄庝緷浠庢煇涓崗璁紝灝卞繀欏誨疄鐜版墍鏈夌殑required鏂規硶錛屽拰闇瑕佺殑optional鏂規硶錛屽惁鍒欑紪璇戝櫒浼氱粰鍑鴻鍛娿傛柟娉曠殑絳懼悕蹇呴』鐩稿悓銆?/span>

Cocoa 鍜?Cocoa Touch 瀹氫箟浜嗗ぇ閲忕殑protocol
  • view鐨勬暟鎹簮鍗忚
  • view鐨勫鎵樺崗璁甦elegate
  • 涓浜涚被浼肩殑綾伙紝浣嗘槸鏃犵戶鎵垮叧緋伙紝姣斿NSArray鍜孨SDictionary渚濅粠NSCoding鍗忚
  • 涓浜汷BJC璇█綰х壒鎬э紝涔熶緷璧栧崗璁紝濡備竴涓鍣ㄩ渶瑕佷緷浠嶯SFastEnumeration鍗忚鎵嶈兘浣跨敤蹇熸灇涓緁ast enumeration錛沜opy鐨勫睘鎬т緷浠嶯SCopying鍗忚錛屽惁鍒欎細寰楀埌涓涓繍琛屾椂寮傚父銆?/span>

涓哄尶鍚嶄嬌鐢ㄥ崗璁?/span>

鏈夋椂鍊欙紝涓涓鏋剁殑寮鍙戣呬負浜嗗悜浣跨敤鑰呴殣钘忎竴涓被錛屽彧鎶婂畠鐨勬帴鍙i氳繃鍗忚鏆撮湶

id <XYZFrameworkUtility> utility = [frameworkObject anonymousUtility];

渚嬪NSFetcheResultsController
NSInteger sectionNumber = //,,,
id <NSFetchedResultSectionInfo> sectionInfo = 
          [self.fetchedResultsController.sections objectAtIndex:sectionNumber];
NSInteger numberOfRowsInSection = [sectionInfo numberOfObjects];







cuigang 2013-11-21 09:32 鍙戣〃璇勮
]]>
鐢∣BJC緙栫▼ 4 - Customizing Existing Classeshttp://m.shnenglu.com/cuigang/archive/2013/11/20/204359.htmlcuigangcuigangWed, 20 Nov 2013 10:55:00 GMThttp://m.shnenglu.com/cuigang/archive/2013/11/20/204359.htmlhttp://m.shnenglu.com/cuigang/comments/204359.htmlhttp://m.shnenglu.com/cuigang/archive/2013/11/20/204359.html#Feedback0http://m.shnenglu.com/cuigang/comments/commentRss/204359.htmlhttp://m.shnenglu.com/cuigang/services/trackbacks/204359.html鐢∣BJC緙栫▼ 4 - Customizing Existing Classes
閫氳繃Category涓虹被澧炲姞鏂規硶
#import "XYZPerson.h"
@interface XYZPerson (XYZPersonNameDisplayAddtions)
- (NSString *)lastNameFirstNameString;
@end
// ----------------------
#import "XYZPerson+XYZPersonNameDisplayAddtions.h"
@implementation XYZPerson (XYZPersonNameDisplayAddtions)
- (NSString *)lastNameFirstNameString{
  
return [NSString stringWithFormat:@"%@ %@", self.lastName, self.firstName];
}
@end
//-------------------------------
#import "XYZPerson+XYZPersonNameDisplayAddtions.h"
@implementation SomeObject
-(void) someMethod{
  XYZPerson *person = [[XYZPerson alloc] initWithFirstName:@"John", lastName:@"Doe"];
  NSLog(@"The people is %@", [person lastNameFirstNameString]);
}
@end

Category 鍙互澧炲姞浠諱綍鐨勫疄渚嬫柟娉曞拰綾繪柟娉曪紝浣嗘槸閫氬父涓嶉傚悎澧炲姞Property錛岃櫧鐒惰娉曚笂鍙互澹版槑涓涓狿roperty錛屼絾涓嶈兘閫氳繃Category澧炲姞涓涓疄渚嬪彉閲忋傝繖鎰忓懗鐫涓嶈兘synthesize浠諱綍瀹炰緥鍙橀噺錛?涔熸病鏈夊瓨鍙栨柟娉曘?浣犲彲浠ュ啓鑷繁鐨刟ccessor錛屼絾鏄笉鑳絢eep track property錛屽畠浠瓨鍌ㄥ湪鍘熷鐨勭被閲屻?/span>

閬垮厤鍚嶅瓧鍐茬獊
Category 鐨勬柊澧炴柟娉曞彲鑳戒細瀵艱嚧鍚嶅瓧鍐茬獊錛屽湪榪愯鏃跺彲鑳戒細鍑虹幇鏈煡鐨勮涓猴紝涓轟簡閬垮厤榪欑鎯呭喌錛岄渶瑕佸鍔犲墠緙
@interface NSSortDescriptor (XYZAdditions)
+ (id)xyz_sortDescriptorWithKey:(NSString *)key ascending:(BOOL)ascending;
@end
//  ------ use it -------
NSSortDescriptor *descriptor = [NSSortDescriptor xyz_sortDescriptorWithKey:@"name" ascending:YES];

綾繪墿灞曠被浼煎垎綾伙紝浣嗗彧鑳界敤浜庣紪璇戞椂鏈夋簮鐮佹儏鍐碉紝騫朵笖蹇呴』鍐欏湪瀹炵幇鏂囦歡閲岋紝鍥犳涓嶈兘閫氳繃榪欎釜涓烘鏋剁被鎵╁睍銆傛墿灞曡娉曠被浼煎垎綾?/span>
@interface ClassName ()
{
    id _someCustomInstanceVariable;
}
@property NSObject *extraProperty;
@end
涔熷彨鍖垮悕鍒嗙被銆備笉鍍忓垎綾婚偅鏍鳳紝鎵╁睍鍙互澧炲姞灞炴у拰瀹炰緥鍙橀噺銆傜紪璇戝櫒浼氳嚜鍔╯ynthesize accessor鏂規硶銆傚鏋滀綘澧炲姞鏂規硶錛屽繀欏誨疄鐜板湪涓昏鐨凘implementation浠g爜鍧楅噷銆?/span>

鍙互鐢ㄦ墿灞曟潵澹版槑縐佹湁灞炴у拰鏂規硶
@interface XYZPerson:NSObject
@proerty (readonly) NSString *uniqueIdentifier;
-(void)assignUniqueIdentifier;
@end

/// ---------------------

@interface XYZPerson ()
@property (readwrite) NSString *uniqueIdentifier;
@end

@implementation XYZPerson
// ,,,
@end
鍍忎笂闈㈤偅鏍烽噸澶嶅0鏄巙niqueIdentifier涓簉eadwrite錛屾瘡涓涓繍琛屾椂鐨刋YZPerson瀵硅薄閮藉皢瀛樺湪涓涓猻etter銆?/span>
浠諱綍璁塊棶縐佹湁鏂規硶錛屾垨鑰卻et涓涓猺eadonly灞炴х殑琛屼負錛岀紪璇戝櫒閮戒細浜х敓閿欒錛屼絾鏄彲浠ラ氳繃鍔ㄦ佽繍琛屾椂鐗規ч伩鍏嶇紪璇戝櫒閿欒錛岃濡傝皟鐢∟SObject鐨刾erformSelector鏂規硶銆?/span>

濡傛灉浣犳墦綆楁瀯寤虹鏈夋柟娉曟垨灞炴э紝浣犲彲浠ュ0鏄庝竴涓垎紱葷殑澶存枃浠舵潵澹版槑鎵╁睍錛岃濡俋YZPerson.h鍜孹YZPersonPrivate.h

鍒嗙被鍜屾墿灞曞茍涓嶆槸瀹氬埗涓涓被鐨勫敮涓閫斿緞錛屼篃涓嶆槸鏈濂芥柟娉曪紝瑕佽冭檻鍙惁浣跨敤瀛愮被鍖栨垨鑰呭鎵樼殑鏂規硶鏉ュ疄鐜般?/span>




cuigang 2013-11-20 18:55 鍙戣〃璇勮
]]>
鐢∣BJC緙栫▼ 3 -Encapsulating Datahttp://m.shnenglu.com/cuigang/archive/2013/11/20/204356.htmlcuigangcuigangWed, 20 Nov 2013 08:49:00 GMThttp://m.shnenglu.com/cuigang/archive/2013/11/20/204356.htmlhttp://m.shnenglu.com/cuigang/comments/204356.htmlhttp://m.shnenglu.com/cuigang/archive/2013/11/20/204356.html#Feedback0http://m.shnenglu.com/cuigang/comments/commentRss/204356.htmlhttp://m.shnenglu.com/cuigang/services/trackbacks/204356.html
鐢∣BJC緙栫▼3-Encapsulating Data

@interface XYZPerson :NSObject
@property NSString *firstName;
@property NSString *lastName;
@end

/// ============

NSString *firstName = [somePerson firstName];
[somePerson setFirstName:@"Johnny"];

闄愬畾灞炴т負鍙錛屼篃鍙檺瀹氫負readwrite錛屼絾榪欎笉蹇咃紝鍥犱負緙虹渷濡傛槸銆?/span>
@property (readonly) NSString *fullname;

鍙互鎸囧畾灞炴х殑璁塊棶鍣ㄥ悕縐幫紝澶氫釜闄愬畾璇嶅涓嬫牸寮?/span>
@property (readonly, getter=isFinished) BOOL finished;

浣跨敤鐐硅娉?/span>
NSString *firstName = somePerson.firstName;
// NSString *firstName = [somePerson firstName];
somePerson.firstName = @"Johnny";
// [somePerson setFirstName:@"Johnny"];

澶у鏁板睘鎬ф湁涓涓疄渚嬪彉閲忋?/span>
緙虹渷鐨勮鍐欏睘鎬т細鐢辯紪璇戝櫒鑷姩鐢熸垚涓涓疄渚嬪彉閲忥紝浠ヤ笅鍒掔嚎寮濮嬶紝濡俖firstName;
-(void) someMethod{
  NSString *myString = @"An interesting string";
  _someString = myString;
  
// self.someString = myString;
  
// or
  
// [self setSomeString:myString];
}

鍙互鎸囧畾瀹炰緥鍙橀噺鐨勫悕瀛?/span>
@implementation YourClass
@synthesize propertyName = instanceVariableName;
@end
// ---- for example

@synthesize firstName = ivar_firstName;

濡傛灉浣犱笉鎸囧畾鍚嶅瓧錛屽疄渚嬪彉閲忓垯鍜屽睘鎬у悓鍚嶏紝鍓嶉潰娌℃湁涓嬪垝綰?/span>
@synthesize firstName;

濡傛灉浣犲茍涓嶆兂鎻愪緵鏁板肩粰鍏跺畠瀵硅薄錛屼綘涓嶅繀澹版槑涓涓睘鎬ц屼嬌鐢ㄤ竴涓疄渚嬪彉閲?/span>
@interface SomeClass: NSObject{
  NSString *_myNonPropertyInstanceVariable;
}
@end

@implementation SomeClass{
  NSString *_anotherCustomInstanceVariable;
}

鍦ㄥ垵濮嬪寲鏂規硶閲岃闂疄渚嬪彉閲?/span>
Setter鏂規硶浼氭湁闄勫姞鏁堟灉銆傚畠浠彲鑳借Е鍙慘VC閫氱煡錛屾垨鑰呭畬鎴愪綘瀹氬埗鐨勬柟娉曘?/span>
浣犲簲璇ュ湪鍒濆鍖栨柟娉曢噷鐩存帴璁塊棶瀹炰緥鍙橀噺錛屽洜涓哄璞¤繕娌℃湁鍒濆鍖栧畬鎴愩傜敋鑷充綘涓嶅簲璇ユ彁渚涘畾鍒剁殑璁塊棶鍣ㄦ柟娉曠粰浣犵殑綾繪彁渚涢檮鍔犳晥鏋溿傝繖鏍峰皢鏉ョ殑瀛愮被鍙互寰堝ソ鐨刼verride榪欎釜琛屼負銆?/span>
涓涓吀鍨嬬殑init鏂規硶濡備笅
-(id)init{
  self = [super init];
  
if(self){
    
// initialize instance variables here
  }
  
return self;
}

鍙互鎸囧畾鍒濆鍖栨柟娉?/span>
-(id)initWithFirstName:(NSString *)aFirstName lastName:(NSString *)aLastName{
  self = [super init];
  
if(self){
    _firstName = aFirstName;
    _lastName = aLastName;
  }
  
return self;
}

鍙互鎸囧畾璁塊棶鏂規硶
@property (readonly) NSString *fullName;
// -------------
-(NSString *)fullName{
 
return [NSString stringWithFormat:@"%@ %@", self.firstName, self.lastName];
}

濡傛灉浣犻渶瑕佸湪璁塊棶鍣ㄩ噷璁塊棶瀹炰緥鍙橀噺錛岄偅搴旇鐩存帴璁塊棶銆備緥瀛愰噷寤惰繜鍒濆鍖栦竴涓璞★紝lazy accessor銆?/span>
- (XYZObject *)someImportantObject {
  
if(!_someImportantObject){
    _someImportantObject = [[XYZObject alloc] init];
  }
  
return _someImportantObject;
}

緙栬瘧鍣ㄤ細鑷姩synthesize涓涓疄渚嬪彉閲忋傝嚦灝戜竴涓闂柟娉曘傚鏋滀綘涓簉eadwrite灞炴у疄鐜頒簡getter鍜宻etter錛屾垨鑰呬負readonly瀹炵幇浜唃etter銆傜紪璇戝櫒璁や負浣犳兂鎺у埗灞炴у疄鐜幫紝涔熶笉浼氬啀涓轟綘鑷姩鐢熸垚涓涓疄渚嬪彉閲忋傚洜姝わ紝濡傛灉浣犱粛鐒墮渶瑕佷竴涓疄渚嬪彉閲忥紝浣犻渶瑕佹墜鍔╯ynthesize
@synthesize property = _property;

灞炴х己鐪佹槸鍘熷瓙鎬х殑銆俛tomic
@interface XYZObject : NSObject
@property NSObject *implicitAtomObject;                  // 緙虹渷鏄痑tomic
@property (atomic) NSObject *explicitAtomicObject;       // 鎸囨槑atomic
@end
緙虹渷璁塊棶鍣ㄥ凡緇忚В鍐充簡澶氱嚎紼嬪茍鍙戠殑闂銆?/span>

濡傛灉浣犲畾鍒朵簡涓涓猘tomic, readwrite鐨勫睘鎬х殑setter錛岃岃緙栬瘧鍣ㄨ嚜鍔ㄧ敓鎴恎etter錛屽皢浼氬緱鍒頒竴涓紪璇戞椂璀﹀憡銆?/span>

浣犲彲浠ュ0鏄巒onatomic灞炴э紝鍥犱負涓嶉渶瑕乬uarantee錛屽鐞嗗茍鍙戯紝鍥犳瀹冪殑璁塊棶鍣ㄦ瘮atomic灞炴ф洿蹇?/span>

灞炴х殑鍘熷瓙鎬у茍涓嶆剰鍛崇潃瀵硅薄鏄嚎紼嬪畨鍏ㄧ殑銆備緥濡俧irstName鍜孡astName銆?/span>

綆$悊瀵硅薄鐨勭敓鍛藉懆鏈燂紝瀵硅薄鏄氳繃鎸囬拡鏉ヨ闂紝鍐呭瓨鏄姩鎬佺敵璇風殑錛屾寚閽堝彉閲忕殑鐢熷懡鍛ㄦ湡涓嶄唬琛ㄥ璞$殑璇佹槑鍛ㄦ湡銆俿trong reference鎰忓懗鐫瀵硅薄鍜屽彟涓涓璞$殑鐢熷懡鍛ㄦ湡涓鏍烽暱銆?/span>
灞炴х己鐪佹槸寮哄紩鐢紝鍙互鎸囧畾weak銆傛湰鍦板彉閲忛兘鏄己寮曠敤錛屽鏋滀綘涓嶅笇鏈涚淮鎶や竴涓己寮曠敤錛屽彲浠ヤ嬌鐢╛_weak
@property (weak) id delegate;
// ---------
NSObject * __weak weakVariable;

寮卞紩鐢ㄤ細甯︽潵涓嶅畨鍏ㄧ殑琛屼負錛屽洜涓哄彉閲忓彲鑳戒細琚疆涓簄il銆?/span>
涓浜汣ocoa綾諱笉鑳藉0鏄庝負寮卞紩鐢紝鍖呮嫭NSTextView, NSFont, NSColorSpace絳夛紝濡傛灉浣犻渶瑕佷嬌鐢ㄨ繖浜涚被鐨勪竴涓急寮曠敤錛屼綘闇瑕佷竴涓猽nsafe_unretained澹版槑銆?/span>
@property (unsafe_unretained) NSObject *unsafePropery;
// ------------
NSObject * __unsafe_unretained unsafeReference;
unsafe寮曠敤綾諱技weak寮曠敤錛屼絾褰撳璞¢噴鏀炬椂錛屽畠涓嶄細琚疆涓簄il錛屽洜姝や綘鍙兘浼氭寔鏈変竴涓偓鎸傛寚閽堬紝鎸囧悜涓涓湭鐭ュ唴瀛橈紝鍚戝畠鍙戞秷鎭彲鑳戒細瀵艱嚧宕╂簝銆?/span>

copy灞炴?/span>
@interface XYZBadgeView : NSView
@property NSString *firstName;
@peoperty NSString *lastName;
@end

濡傛灉浣犺繖鏍峰仛
NSMutableString *nameString = [NSMutableString stringWithString:@"John"];
self.badgeView.firstName = nameString;
// ----
[nameString appendString:@"ny"];
榪欐牱firstName灝嗘寚鍚戜竴涓狽SMutableString錛屽畠鐨勫煎彲浠ユ敼鍙樹簡錛屼綘鍙互澧炲姞copy澹版槑錛岄伩鍏嶈繖縐嶆儏鍐?/span>

@interface XYZbadgeView : NSView
@property (copy) NSString *firstName;
@property (copy) NSString *lastName;
@end
// --------------------
NSMutableString *nameString = [NSMutableString stringWithString:@"John"];
self.badgeView.firstName = nameString;
// ----
[nameString appendString:@"ny"];
榪欐牱firstName浠嶇劧鏄?#8220;John”錛屼笉浼氬彂鐢熷彉鍖?/span>

涓涓澹版槑涓篶opy鐨勫璞?/span>蹇呴』鏀寔NSCopying鍗忚銆傚鏋滀綘瑕佺洿鎺et涓涓猚opy灞炴х殑瀹炰緥鍙橀噺錛屼緥濡傚湪鍒濆鍖栨柟娉曢噷錛屼竴瀹氳璁劇疆鍘熷瀵硅薄鐨刢opy
-(id)initWithSomeOriginalString:(NSString *)aString{
  self = [super init];
  
if(self){
     _instanceVariableForCopyProperty = [aString copy];
  }
  
return self;
}




cuigang 2013-11-20 16:49 鍙戣〃璇勮
]]>
鐢∣BJC緙栫▼ 2 - working with Objectshttp://m.shnenglu.com/cuigang/archive/2013/11/19/204339.htmlcuigangcuigangTue, 19 Nov 2013 15:11:00 GMThttp://m.shnenglu.com/cuigang/archive/2013/11/19/204339.htmlhttp://m.shnenglu.com/cuigang/comments/204339.htmlhttp://m.shnenglu.com/cuigang/archive/2013/11/19/204339.html#Feedback0http://m.shnenglu.com/cuigang/comments/commentRss/204339.htmlhttp://m.shnenglu.com/cuigang/services/trackbacks/204339.html鐢∣BJC緙栫▼ 2 - working with Objects
鍙戦佸拰鎺ユ敹娑堟伅
@interface XYZPerson : NSObject
-(void) sayHello;
@end

// implemetation
@implementation XYZPerson
- (void) sayHello{
    NSLog(@"Hello, world!");
}
@end // XYZPerson

// -----
[somePerson sayHello];

閫氳繃鎸囬拡keep瀵硅薄

-(void)myMethod{
  NSString *myString = // get a string from somewhere.
}

閫氳繃鍙傛暟浼犻掑璞?/span>
-(void)saySomething:(NSString *)greeting;
// implementation
-(void)saySomething:(NSString *)greeting{
    NSLog(@"%@", greeting);   // "%@",鐢ㄦ潵鎵撳嵃瀵硅薄
}

閫氳繃榪斿洖鍊間紶閫?/span>
-(NSString *)magicString;
//implementation
-(NSString *)magicString{
    NSString *stringToReturn = // create string
    return stringToReturn;
}
// use it
NSString *magic = [testString magicString];

鍚戣嚜宸卞彂閫佹秷鎭?/span>
@implementation XYZPerson
-(void)sayHello{
  [self saySomething:@"Hello, world!"];
}
-(void)saySomething:(NSString *)greeting{
  NSLog(@"%@", greeting);
}
@end

鍚戠埗綾誨彂娑堟伅
@interface XYZShoutingPerson : XYZPerson
@end
/////////////////////
@implementation XYZShoutingPerson
-(void)saySomething:(NSString *)greeting{
  NSString *uppercaseGreeting = [greeting uppercaseString];
  [super saySomething:uppercaseGreeting];
}
@end

鍔ㄦ佸垱寤哄璞?/span>
// NSObject鎻愪緵涓涓被鏂規硶, id like (NSObject *)
+(id)alloc;
// 
-(id)init;
//=============== use it
NSObject *newObject = [[NSObject alloc] init];

// init鍙兘榪斿洖涓涓拰alloc涓嶅悓鐨勫璞★紝鍥犳鏈濂藉祵濂椾嬌鐢╝lloc鍜宨nit錛屼笉鎺ㄨ崘濡備笅浣跨敤
NSObjet *someObject = [NSObject alloc];
[someObject init];

鍒濆鍖栨柟娉曞彲浠ュ甫鍙傛暟
-(id)initWithInt:(int)value;
-(id)initWithLong:(long)value;
//------------------
NSNumber *magicNumber = [[NSNumber alloc] initWithInt:42];

綾誨伐鍘傛柟娉曟彁渚涗簡鍙︿竴涓夋嫨
+(NSNumber *)numberWithInt:(int)value;
+(NSNumber *)numberWithLong:(long)value;
//------------------
NSNumber *magicNumber = [NSNumber numberWithInt:42];

浣跨敤new鏉ヤ唬鏇?/span>
XYZObject *object = [XYZObject new];
// is effectively the same as:
XYZObject *object = [[XYZObject alloc] init];

閫氳繃瀛楅潰閲忓垱寤?/span>
NSString *someString = @"Hello, world!";
// is same as
NSString *someString = [NSString stringWithCString:"Hello, world!" encoding:NSUTF8StringEncoding];

//=======
NSNumber *myBOOL = @YES;
NSNumber *myFloat = @3.14f;
NSNumber *myInt = @42;
NSNumber *myLong = @42L;
NSNumber *myInt2 = @(84 / 2);

OBJC 鏄竴涓姩鎬佽璦
// 涓嬮潰浠g爜浼氫駭鐢熻繍琛屾椂閿欒錛屽洜涓篘SString娌℃湁removeAllObjects鏂規硶
id someObject = @"Hello, World!";
[someObject removeAllObjects];

// 涓嬮潰浠g爜浼氫駭鐢熺紪璇戞椂閿欒
NSString *someObject = @"Hello, World!";
[someObject removeAllObjects];

姣旇緝瀵硅薄
// 鍥犱負鏄寚閽堬紝鎵浠ュ彲浠ヨ繖鏍鋒瘮杈冩槸鍚﹀悓涓涓璞?/span>
if(firstPerson == secondPerson){
  
// the same object
}
// 濡傛灉瑕佹瘮杈冩暟鎹槸鍚︾浉鍚岋紝浣跨敤isEqual
if([firstPerson isEqual:secondPerson]) {
  
// is identical to second
}

浣跨敤nil
// nil 鏄竴涓璞℃寚閽堬紝澹版槑涓涓璞℃寚閽堟棤闇鍒濆鍖栵紝緙栬瘧鍣ㄤ細鍒濆鍖栧畠涓簄il
XYZPerson *somePerson;
// ------------
if(somePerson != nil){
  
// ====
}
// or 
if(somePerson){
   
// ===
}


cuigang 2013-11-19 23:11 鍙戣〃璇勮
]]>
鐢∣BJC緙栫▼ 0-綆浠?& .1 瀹氫箟綾?/title><link>http://m.shnenglu.com/cuigang/archive/2013/11/19/204145.html</link><dc:creator>cuigang</dc:creator><author>cuigang</author><pubDate>Tue, 19 Nov 2013 10:34:00 GMT</pubDate><guid>http://m.shnenglu.com/cuigang/archive/2013/11/19/204145.html</guid><wfw:comment>http://m.shnenglu.com/cuigang/comments/204145.html</wfw:comment><comments>http://m.shnenglu.com/cuigang/archive/2013/11/19/204145.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/cuigang/comments/commentRss/204145.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/cuigang/services/trackbacks/204145.html</trackback:ping><description><![CDATA[<div><strong style="font-size: 10pt; font-family: Courier;"><span style="font-family: Courier; font-size: 10pt;"><Programming with Objective-C>-0-Introduction</span></strong></div><br /><span style="font-family: Courier; font-size: 10pt;">OBJC鏄疧SX鍜孖OS鐨勪富瑕佺紪紼嬭璦錛屽畠鏄疌鐨勮秴闆嗭紝鎻愪緵浜嗛潰鍚戝璞$殑鐗規у拰鍔ㄦ佽繍琛屾椂綾誨瀷淇℃伅銆侽BJC緇ф壙浜咰鐨勮娉曪紝鍩烘湰鏁版嵁綾誨瀷鍜屾祦紼嬫帶鍒訛紝闄勫姞浜嗗畾涔夌被鍜屾柟娉曠殑璇硶銆備篃涓哄姩鎬佺被鍨嬬粦瀹氭彁渚涗簡璇█綰у埆鐨勬敮鎸併?/span><br /><br /><div><span style="font-family: Courier; font-size: 10pt;"><strong><Programming with Objective-C>-1-Defining Classes</strong></span><span style="font-family: Courier; font-size: 14pt;"><br /></span><br /><span style="font-family: Courier; font-size: 10pt;">鍙彉鎬у喅瀹氬兼槸鍚﹀彲浠ユ洿鏀?br /></span><blockquote><span style="font-family: Courier; font-size: 10pt;">涓浜涚被瀹氫箟瀵硅薄鏄痠mmutable鐨勶紝鎰忓懗鐫瀵硅薄鐨勫唴瀹逛笉鍙鍏跺畠瀵硅薄鏀瑰彉銆侼SString鍜孨SNumber鏄痠mmutable鐨?/span><br /><br /><span style="font-family: Courier; font-size: 10pt;">涓浜沬mmutable綾婚〉娓竚utable鐗堟湰銆傛瘮濡侼SString鐨凬SMutableString銆?/span><br /><br /><span style="font-family: Courier; font-size: 10pt;">灝界NSString鍜孨SMutableString鏄笉鍚岀殑綾伙紝瀹冧滑鏈夐潪甯稿鐨勭浉浼間箣澶?/span><br /></blockquote><br /><span style="font-family: Courier; font-size: 10pt;">浠庡彟涓涓被緇ф壙</span><br /><blockquote><span style="font-family: Courier; font-size: 10pt;">浠庡彟涓涓被緇ф壙錛屽瓙綾葷戶鎵夸簡鐖剁被鎵鏈夌殑琛屼負鍜屽睘鎬с備篃鍙互瀹氫箟鑷繁鐨刡ehavior鍜宲roperties錛屾垨鑰卭verride鐖剁被鐨刡ehavior</span><br /><br /><span style="font-family: Courier; font-size: 10pt;">NSMutableString緇ф壙浜嶯SString錛屽洜姝ゆ嫢鏈夋墍鏈塏SString鐨勫姛鑳斤紝涔熷鍔犱簡append錛宨nsert錛宺eplace錛宒elete substring絳夋柟娉?/span><br /></blockquote><span style="font-family: Courier; font-size: 12pt;"><br /></span><span style="font-family: Courier; font-size: 10pt;">鏍圭被鎻愪緵鍩烘湰鍔熻兘</span><br /><blockquote><span style="font-family: Courier; font-size: 10pt;">濡傛灉浣犲畾涔変竴涓嚜宸辯殑綾伙紝搴旇鑷沖皯緇ф壙浜嶯SObject</span><br /></blockquote><strong style="font-size: 12pt;"><br /></strong><strong style="font-size: 10pt; font-family: Courier;">綾葷殑鎺ュ彛瀹氫箟</strong><br style="font-size: 10pt; font-family: Courier;" /><br style="font-family: Courier; font-size: 10pt;" /><span style="font-family: Courier; font-size: 10pt;">鍩烘湰璇硶</span><br style="font-family: Courier; font-size: 10pt;" /><div style="background-color: #eeeeee; font-size: 10pt; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%; word-break: break-all; font-family: Courier;"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080; font-family: Courier;">1</span> <span style="color: #000000; font-family: Courier;">@interface SimpleClass : NSObject<br /></span><span style="color: #008080; font-family: Courier;">2</span> <span style="color: #000000; "><br /></span><span style="color: #008080; font-family: Courier;">3</span> <span style="color: #000000; font-family: Courier;">@end</span><span style="color: #000000; "><br /></span></div><br style="font-family: Courier; font-size: 10pt;" /><span style="font-family: Courier; font-size: 10pt;">Properties鎺у埗璁塊棶涓涓璞$殑鍊?/span><br style="font-family: Courier; font-size: 10pt;" /><div style="background-color: #eeeeee; font-size: 10pt; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%; word-break: break-all; font-family: Courier;"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000; ">@interface Person : NSObject<br /><br />@property NSString </span><span style="color: #000000; ">*</span><span style="color: #000000; ">firstName; </span><span style="color: #008000; ">//</span><span style="color: #008000; "> 瀵硅薄鐢ㄦ寚閽?/span><span style="color: #008000; "><br /></span><span style="color: #000000; ">@property NSString </span><span style="color: #000000; ">*</span><span style="color: #000000; ">lastName;<br />@property NSNumber </span><span style="color: #000000; ">*</span><span style="color: #000000; ">yearOfBirth;<br />@property </span><span style="color: #0000FF; ">int</span><span style="color: #000000; "> yearOfBirth_1; </span><span style="color: #008000; ">//</span><span style="color: #008000; "> 鐢ㄥ熀鏈被鍨?/span><span style="color: #008000; "><br /></span><span style="color: #000000; "><br />@end</span></div><br style="font-family: Courier; font-size: 10pt;" /><span style="font-family: Courier; font-size: 10pt;">Property灞炴ф寚鏄庢暟鎹殑鍙闂у拰瀛樺偍鎯呭喌</span><br style="font-family: Courier; font-size: 10pt;" /><div style="background-color: #eeeeee; font-size: 10pt; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%; word-break: break-all; font-family: Courier;"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000; ">@interface Person : NSObject<br />@property (</span><span style="color: #0000FF; ">readonly</span><span style="color: #000000; ">) NSString</span><span style="color: #000000; ">*</span><span style="color: #000000; "> firstName;<br />@property (</span><span style="color: #0000FF; ">readonly</span><span style="color: #000000; ">) NSString</span><span style="color: #000000; ">*</span><span style="color: #000000; "> lastName;<br />@end</span></div><br style="font-family: Courier; font-size: 10pt;" /><span style="font-family: Courier; font-size: 10pt;">鏂規硶瀹氫箟</span><br style="font-family: Courier; font-size: 10pt;" /><div style="background-color: #eeeeee; font-size: 10pt; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%; word-break: break-all; font-family: Courier;"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000; font-family: Courier;">-</span><span style="color: #000000; font-family: Courier;">(</span><span style="color: #0000ff; font-family: Courier;">void</span><span style="color: #000000; font-family: Courier;">)someMethod;</span></div><span style="font-family: Courier; font-size: 10pt;">鍓嶉潰鐨?- 鍙瘋〃紺鴻繖鏄竴涓疄渚嬫柟娉?/span><br style="font-family: Courier; font-size: 10pt;" /><br style="font-family: Courier; font-size: 10pt;" /><span style="font-family: Courier; font-size: 10pt;">鏂規硶鍙互甯﹀弬鏁?/span><br style="font-family: Courier; font-size: 10pt;" /><br style="font-family: Courier; font-size: 10pt;" /><div style="background-color: #eeeeee; font-size: 10pt; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%; word-break: break-all; font-family: Courier;"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000; font-family: Courier;">-</span><span style="color: #000000; font-family: Courier;">(</span><span style="color: #0000ff; font-family: Courier;">void</span><span style="color: #000000; font-family: Courier;">)someMethodWithValue:(SomeType)value;</span></div><br style="font-family: Courier; font-size: 10pt;" /><span style="font-family: Courier; font-size: 10pt;">鍙互鏈夊涓弬鏁?/span><br style="font-family: Courier; font-size: 10pt;" /><div style="background-color: #eeeeee; font-size: 10pt; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%; word-break: break-all; font-family: Courier;"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000; font-family: Courier;">-</span><span style="color: #000000; font-family: Courier;">(</span><span style="color: #0000ff; font-family: Courier;">void</span><span style="color: #000000; font-family: Courier;">)someMethodWithFirstValue:(SomeType)value1 secondValue:(AnotherType)value2;</span></div><span style="font-family: Courier; font-size: 10pt;">secondValue 鏄浜屼釜鍙傛暟絳懼悕鐨勪竴閮ㄥ垎</span><span style="font-family: Courier; font-size: 10pt;">錛?/span><br style="font-family: Courier; font-size: 10pt;" /><br style="font-family: Courier; font-size: 10pt;" /><span style="font-family: Courier; font-size: 10pt;">鍥犳錛屼笅闈㈢殑鍑芥暟絳懼悕涓嶅悓錛?/span><br style="font-family: Courier; font-size: 10pt;" /><div style="background-color: #eeeeee; font-size: 10pt; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%; word-break: break-all; font-family: Courier;"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000; font-family: Courier;">-</span><span style="color: #000000; font-family: Courier;">(</span><span style="color: #0000ff; font-family: Courier;">void</span><span style="color: #000000; font-family: Courier;">)someMethodWithFirstValue:(SomeType)info1 anotherValue:(AnotherType)info2;<br /></span><span style="color: #000000; font-family: Courier;">-</span><span style="color: #000000; font-family: Courier;">(</span><span style="color: #0000ff; font-family: Courier;">void</span><span style="color: #000000; font-family: Courier;">)someMethodWithFirstValue:(SomeType)info1 secondValue:(YetAnotherType)onfo2;</span></div><br style="font-family: Courier; font-size: 10pt;" /><span style="font-family: Courier; font-size: 10pt;">綾誨悕縐板繀欏誨敮涓</span><br style="font-family: Courier; font-size: 10pt;" /><blockquote style="font-family: Courier; font-size: 10pt;">綾誨悕蹇呴』鍞竴錛岀敋鑷沖拰搴撴垨鑰呮鏋墮噷鐨勭被涔熶笉鑳介噸鍚嶏紝寤鴻浣跨敤涓変釜瀛楃鐨勫墠緙銆?br />涓や釜瀛楁瘝鍓嶇紑錛屽NS錛孶I錛屽凡緇忚Apple淇濈暀<br /></blockquote><strong style="font-family: Courier; font-size: 10pt;"><br /></strong><strong style="font-size: 10pt; font-family: Courier;">綾葷殑瀹炵幇</strong><br style="font-size: 10pt; font-family: Courier;" /><br style="font-family: Courier; font-size: 10pt;" /><span style="font-family: Courier; font-size: 10pt;">鍩烘湰璇硶</span><br style="font-family: Courier; font-size: 10pt;" /><br style="font-family: Courier; font-size: 10pt;" /><div style="background-color: #eeeeee; font-size: 10pt; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%; word-break: break-all; font-family: Courier;"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000; ">#import </span><span style="color: #000000; ">"</span><span style="color: #000000; ">XYZPerson.h</span><span style="color: #000000; ">"</span><span style="color: #000000; "><br /><br />@implementation XYZPerson<br /><br />@end</span></div><br style="font-family: Courier; font-size: 10pt;" /><span style="font-family: Courier; font-size: 10pt;">瀹炵幇鏂規硶</span><br style="font-family: Courier; font-size: 10pt;" /><br style="font-family: Courier; font-size: 10pt;" /><div style="background-color: #eeeeee; font-size: 10pt; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%; word-break: break-all; font-family: Courier;"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008000; ">//</span><span style="color: #008000; "> interface like this</span><span style="color: #008000; "><br /></span><span style="color: #000000; ">@interface XYZPerson : NSObject<br /></span><span style="color: #000000; ">-</span><span style="color: #000000; "> (</span><span style="color: #0000FF; ">void</span><span style="color: #000000; ">)sayHello;<br />@end<br /><br /></span><span style="color: #008000; ">//</span><span style="color: #008000; "> implementation like this</span><span style="color: #008000; "><br /></span><span style="color: #000000; "><br />@implementation XYZPerson<br /></span><span style="color: #000000; ">-</span><span style="color: #000000; "> (</span><span style="color: #0000FF; ">void</span><span style="color: #000000; ">)sayHello{<br />   NSLog(</span><span style="color: #000000; ">@"</span><span style="color: #000000; ">Hello, World!</span><span style="color: #000000; ">"</span><span style="color: #000000; ">);<br />}<br />@end</span></div><br style="font-family: Courier; font-size: 10pt;" /><strong style="font-family: Courier; font-size: 10pt;"><span style="font-size: 12pt; font-family: Courier;">綾諱篃鏄竴涓璞?/span></strong><br style="font-family: Courier; font-size: 10pt;" /><br style="font-family: Courier; font-size: 10pt;" /><span style="font-family: Courier; font-size: 10pt;">鍦∣BJC閲岋紝綾昏嚜宸變篃鏄竴涓狢lass綾誨瀷鐨勫璞°傜被綾誨瀷涓嶈兘閫氳繃澹版槑鐨勮娉曞畾涔塸roperty錛屼絾鏄畠鍙互鎺ユ敹娑堟伅銆?/span><br style="font-family: Courier; font-size: 10pt;" /><br style="font-family: Courier; font-size: 10pt;" /><span style="font-family: Courier; font-size: 10pt;">綾葷被鍨嬬殑鏂規硶鐨勫吀鍨嬬敤閫旀槸宸ュ巶鏂規硶錛岀敤鏉ヨ繘琛屽璞$殑鍒嗛厤鍜屽垵濮嬪寲錛屽NSString鐨?/span><span style="font-family: Courier; font-size: 10pt;">宸ュ巶鏂規硶</span><br style="font-family: Courier; font-size: 10pt;" /><br style="font-family: Courier; font-size: 10pt;" /><div style="background-color: #eeeeee; font-size: 10pt; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%; word-break: break-all; font-family: Courier;"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000; font-family: Courier; font-size: 10pt;">+</span><span style="color: #000000; font-family: Courier; font-size: 10pt;">(id)</span><span style="color: #0000ff; font-family: Courier; font-size: 10pt;">string</span><span style="color: #000000; font-family: Courier; font-size: 10pt;">;<br /></span><span style="color: #000000; font-family: Courier; font-size: 10pt;">+</span><span style="color: #000000; font-family: Courier; font-size: 10pt;">(id)stringWithString:(NSString </span><span style="color: #000000; font-family: Courier; font-size: 10pt;">*</span><span style="color: #000000; font-family: Courier; font-size: 10pt;">)aString;<br /></span><span style="color: #000000; font-family: Courier; font-size: 10pt;">+</span><span style="color: #000000; font-family: Courier; font-size: 10pt;">(id)stringWithFormat:(NSString </span><span style="color: #000000; font-family: Courier; font-size: 10pt;">*</span><span style="color: #000000; font-family: Courier; font-size: 10pt;">)format,.. . </span><span style="color: #000000; font-family: Courier; font-size: 10pt;">;<br /></span><span style="color: #000000; font-family: Courier; font-size: 10pt;">+</span><span style="color: #000000; font-family: Courier; font-size: 10pt;">(id)stringWithContentsOfFile:(NSString </span><span style="color: #000000; font-family: Courier; font-size: 10pt;">*</span><span style="color: #000000; font-family: Courier; font-size: 10pt;">)path encoding:(NSStringEncoding)end error:(NSError </span><span style="color: #000000; font-family: Courier; font-size: 10pt;">**</span><span style="color: #000000; font-family: Courier; font-size: 10pt;">)error;<br /></span><span style="color: #000000; font-family: Courier; font-size: 10pt;">+</span><span style="color: #000000; font-family: Courier; font-size: 10pt;">(id)stringWithCString:(</span><span style="color: #0000ff; font-family: Courier; font-size: 10pt;">const</span><span style="color: #000000; "> </span><span style="color: #0000ff; font-family: Courier; font-size: 10pt;">char</span><span style="color: #000000; font-family: Courier; font-size: 10pt;">*</span><span style="color: #000000; font-family: Courier; font-size: 10pt;">)cString encoding:(NSStringEncoding)enc;</span></div><br style="font-family: Courier; font-size: 10pt;" /><span style="font-family: Courier; font-size: 10pt;">+ 鍙瘋〃紺鴻繖鏄竴涓被鐨勬柟娉?/span></div><img src ="http://m.shnenglu.com/cuigang/aggbug/204145.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/cuigang/" target="_blank">cuigang</a> 2013-11-19 18:34 <a href="http://m.shnenglu.com/cuigang/archive/2013/11/19/204145.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item></channel></rss> <a href="http://m.shnenglu.com/">青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品</a> <div style="position:fixed;left:-9000px;top:-9000px;"><font id="pjuwb"></font><button id="pjuwb"><pre id="pjuwb"></pre></button><sub id="pjuwb"></sub><tbody id="pjuwb"><var id="pjuwb"><address id="pjuwb"></address></var></tbody><listing id="pjuwb"><label id="pjuwb"><strong id="pjuwb"></strong></label></listing><wbr id="pjuwb"><small id="pjuwb"><tbody id="pjuwb"></tbody></small></wbr><ins id="pjuwb"><xmp id="pjuwb"></xmp></ins><style id="pjuwb"></style><label id="pjuwb"><em id="pjuwb"><li id="pjuwb"></li></em></label><samp id="pjuwb"></samp><menu id="pjuwb"><input id="pjuwb"></input></menu><pre id="pjuwb"><tbody id="pjuwb"><tfoot id="pjuwb"><button id="pjuwb"></button></tfoot></tbody></pre><form id="pjuwb"></form><i id="pjuwb"><style id="pjuwb"><label id="pjuwb"><sup id="pjuwb"></sup></label></style></i><li id="pjuwb"><table id="pjuwb"><abbr id="pjuwb"></abbr></table></li><video id="pjuwb"></video><dfn id="pjuwb"></dfn><progress id="pjuwb"></progress><strong id="pjuwb"></strong><mark id="pjuwb"></mark><em id="pjuwb"></em><tbody id="pjuwb"><p id="pjuwb"><strike id="pjuwb"><acronym id="pjuwb"></acronym></strike></p></tbody><option id="pjuwb"></option><strike id="pjuwb"></strike><u id="pjuwb"></u><td id="pjuwb"><center id="pjuwb"><tr id="pjuwb"></tr></center></td><em id="pjuwb"><mark id="pjuwb"><em id="pjuwb"><tt id="pjuwb"></tt></em></mark></em><strong id="pjuwb"></strong><wbr id="pjuwb"></wbr><s id="pjuwb"></s><strong id="pjuwb"></strong><legend id="pjuwb"></legend><nav id="pjuwb"></nav><dl id="pjuwb"><th id="pjuwb"><dl id="pjuwb"></dl></th></dl><noframes id="pjuwb"><ins id="pjuwb"></ins></noframes><font id="pjuwb"></font><strike id="pjuwb"><i id="pjuwb"><style id="pjuwb"><label id="pjuwb"></label></style></i></strike><output id="pjuwb"></output><thead id="pjuwb"><pre id="pjuwb"></pre></thead><source id="pjuwb"></source><menuitem id="pjuwb"><wbr id="pjuwb"></wbr></menuitem><pre id="pjuwb"><span id="pjuwb"><pre id="pjuwb"><big id="pjuwb"></big></pre></span></pre><cite id="pjuwb"><fieldset id="pjuwb"><s id="pjuwb"><rt id="pjuwb"></rt></s></fieldset></cite><big id="pjuwb"><progress id="pjuwb"><big id="pjuwb"></big></progress></big><samp id="pjuwb"><delect id="pjuwb"></delect></samp><dl id="pjuwb"></dl><strike id="pjuwb"><nav id="pjuwb"><dl id="pjuwb"><strong id="pjuwb"></strong></dl></nav></strike><tbody id="pjuwb"><b id="pjuwb"><optgroup id="pjuwb"><rp id="pjuwb"></rp></optgroup></b></tbody><em id="pjuwb"></em><xmp id="pjuwb"><blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote></xmp> <i id="pjuwb"><abbr id="pjuwb"><i id="pjuwb"><abbr id="pjuwb"></abbr></i></abbr></i><center id="pjuwb"><acronym id="pjuwb"><center id="pjuwb"></center></acronym></center><pre id="pjuwb"></pre><ul id="pjuwb"><thead id="pjuwb"></thead></ul><blockquote id="pjuwb"><pre id="pjuwb"><sup id="pjuwb"></sup></pre></blockquote><acronym id="pjuwb"></acronym><big id="pjuwb"><s id="pjuwb"></s></big><th id="pjuwb"></th><th id="pjuwb"></th><tbody id="pjuwb"></tbody><thead id="pjuwb"><strike id="pjuwb"></strike></thead><th id="pjuwb"><dl id="pjuwb"><wbr id="pjuwb"></wbr></dl></th><dl id="pjuwb"><strong id="pjuwb"></strong></dl><abbr id="pjuwb"><noframes id="pjuwb"><noscript id="pjuwb"></noscript></noframes></abbr><td id="pjuwb"><ol id="pjuwb"></ol></td><li id="pjuwb"><noscript id="pjuwb"><abbr id="pjuwb"></abbr></noscript></li><small id="pjuwb"><bdo id="pjuwb"><nav id="pjuwb"></nav></bdo></small><style id="pjuwb"></style><optgroup id="pjuwb"><table id="pjuwb"></table></optgroup><center id="pjuwb"><tr id="pjuwb"><dfn id="pjuwb"></dfn></tr></center><th id="pjuwb"></th><u id="pjuwb"></u><tfoot id="pjuwb"><legend id="pjuwb"><i id="pjuwb"></i></legend></tfoot><mark id="pjuwb"></mark><meter id="pjuwb"></meter><nav id="pjuwb"></nav><acronym id="pjuwb"><pre id="pjuwb"><acronym id="pjuwb"><ul id="pjuwb"></ul></acronym></pre></acronym><acronym id="pjuwb"><pre id="pjuwb"><acronym id="pjuwb"><ul id="pjuwb"></ul></acronym></pre></acronym><nobr id="pjuwb"></nobr><sub id="pjuwb"><th id="pjuwb"><menuitem id="pjuwb"><wbr id="pjuwb"></wbr></menuitem></th></sub><thead id="pjuwb"><sub id="pjuwb"></sub></thead><ul id="pjuwb"><address id="pjuwb"><menuitem id="pjuwb"><meter id="pjuwb"></meter></menuitem></address></ul><dfn id="pjuwb"></dfn><pre id="pjuwb"></pre><input id="pjuwb"><cite id="pjuwb"><fieldset id="pjuwb"></fieldset></cite></input><u id="pjuwb"><form id="pjuwb"><u id="pjuwb"></u></form></u><kbd id="pjuwb"><em id="pjuwb"><mark id="pjuwb"></mark></em></kbd><tr id="pjuwb"></tr><del id="pjuwb"><form id="pjuwb"><address id="pjuwb"></address></form></del><tfoot id="pjuwb"><legend id="pjuwb"><ol id="pjuwb"><dl id="pjuwb"></dl></ol></legend></tfoot><menu id="pjuwb"><nobr id="pjuwb"><th id="pjuwb"><nobr id="pjuwb"></nobr></th></nobr></menu><fieldset id="pjuwb"></fieldset><pre id="pjuwb"><blockquote id="pjuwb"><samp id="pjuwb"></samp></blockquote></pre><xmp id="pjuwb"><sup id="pjuwb"><pre id="pjuwb"></pre></sup></xmp><span id="pjuwb"><progress id="pjuwb"></progress></span><font id="pjuwb"></font><var id="pjuwb"><abbr id="pjuwb"></abbr></var><strong id="pjuwb"><label id="pjuwb"><i id="pjuwb"><legend id="pjuwb"></legend></i></label></strong><tr id="pjuwb"><em id="pjuwb"><em id="pjuwb"><output id="pjuwb"></output></em></em></tr><thead id="pjuwb"><strike id="pjuwb"></strike></thead> <acronym id="pjuwb"></acronym><i id="pjuwb"></i><tt id="pjuwb"></tt><rt id="pjuwb"><source id="pjuwb"><rt id="pjuwb"></rt></source></rt><strike id="pjuwb"><acronym id="pjuwb"></acronym></strike><del id="pjuwb"></del><font id="pjuwb"><output id="pjuwb"><ins id="pjuwb"><output id="pjuwb"></output></ins></output></font><kbd id="pjuwb"><tr id="pjuwb"><kbd id="pjuwb"></kbd></tr></kbd><pre id="pjuwb"><sup id="pjuwb"><delect id="pjuwb"><samp id="pjuwb"></samp></delect></sup></pre><samp id="pjuwb"></samp><track id="pjuwb"></track><tr id="pjuwb"></tr><center id="pjuwb"></center><fieldset id="pjuwb"></fieldset><i id="pjuwb"></i><td id="pjuwb"></td><rt id="pjuwb"></rt><object id="pjuwb"></object><pre id="pjuwb"><progress id="pjuwb"><sub id="pjuwb"><thead id="pjuwb"></thead></sub></progress></pre><kbd id="pjuwb"><tr id="pjuwb"><option id="pjuwb"></option></tr></kbd><output id="pjuwb"><ins id="pjuwb"></ins></output><ol id="pjuwb"></ol><source id="pjuwb"></source><strong id="pjuwb"></strong><ruby id="pjuwb"></ruby><sub id="pjuwb"><meter id="pjuwb"><menuitem id="pjuwb"><meter id="pjuwb"></meter></menuitem></meter></sub><pre id="pjuwb"></pre><center id="pjuwb"></center><tr id="pjuwb"><tbody id="pjuwb"><xmp id="pjuwb"><dd id="pjuwb"></dd></xmp></tbody></tr><video id="pjuwb"></video><pre id="pjuwb"></pre><form id="pjuwb"><optgroup id="pjuwb"></optgroup></form><samp id="pjuwb"></samp><kbd id="pjuwb"></kbd><strong id="pjuwb"><option id="pjuwb"></option></strong><object id="pjuwb"></object><abbr id="pjuwb"><noframes id="pjuwb"><abbr id="pjuwb"></abbr></noframes></abbr><ul id="pjuwb"><del id="pjuwb"><button id="pjuwb"><pre id="pjuwb"></pre></button></del></ul><abbr id="pjuwb"></abbr><strong id="pjuwb"><code id="pjuwb"><strong id="pjuwb"></strong></code></strong><option id="pjuwb"></option><optgroup id="pjuwb"><bdo id="pjuwb"><code id="pjuwb"></code></bdo></optgroup><mark id="pjuwb"><em id="pjuwb"><font id="pjuwb"></font></em></mark><acronym id="pjuwb"><code id="pjuwb"></code></acronym><dl id="pjuwb"></dl><em id="pjuwb"></em><object id="pjuwb"><input id="pjuwb"><object id="pjuwb"></object></input></object><output id="pjuwb"><dd id="pjuwb"></dd></output><option id="pjuwb"><button id="pjuwb"><option id="pjuwb"></option></button></option><small id="pjuwb"></small></div> <a href="http://9955377.com" target="_blank">国产伦精品一区二区三</a>| <a href="http://shruhan.com" target="_blank">99re6这里只有精品</a>| <a href="http://nmbgbc.com" target="_blank">欧美视频一二三区</a>| <a href="http://www-6410c.com" target="_blank">久久精品国产91精品亚洲</a>| <a href="http://pnxingmei.com" target="_blank">亚洲人成网站影音先锋播放</a>| <a href="http://916969.com" target="_blank">久久av一区二区三区漫画</a>| <a href="http://ckk755.com" target="_blank">一区二区精品在线观看</a>| <a href="http://ipx758.com" target="_blank">亚洲一区三区在线观看</a>| <a href="http://zzmzit.com" target="_blank">在线欧美日韩精品</a>| <a href="http://sg-lxs.com" target="_blank">99亚洲视频</a>| <a href="http://412342.com" target="_blank">亚洲欧洲精品一区二区三区不卡</a>| <a href="http://390642.com" target="_blank">亚洲免费福利视频</a>| <a href="http://goldure.com" target="_blank">这里只有精品丝袜</a>| <a href="http://110488.com" target="_blank">新67194成人永久网站</a>| <a href="http://cnm24.com" target="_blank">午夜久久久久久久久久一区二区</a>| <a href="http://gjjlzs.com" target="_blank">亚洲综合色婷婷</a>| <a href="http://686852a.com" target="_blank">欧美激情无毛</a>| <a href="http://actinview.com" target="_blank">国产精品视频xxxx</a>| <a href="http://www-5013.com" target="_blank">国产一区三区三区</a>| <a href="http://hnautos.com" target="_blank">好吊妞这里只有精品</a>| <a href="http://by2866.com" target="_blank">一二三区精品</a>| <a href="http://my8823.com" target="_blank">欧美激情免费观看</a>| <a href="http://yeedeli.com" target="_blank">亚洲自拍偷拍色片视频</a>| <a href="http://my88855.com" target="_blank">欧美成人日本</a>| <a href="http://749996.com" target="_blank">国产精品天天看</a>| <a href="http://tavbao.com" target="_blank">亚洲视频观看</a>| <a href="http://shruhan.com" target="_blank">欧美电影免费观看高清</a>| <a href="http://heyzo1199.com" target="_blank">亚洲午夜久久久久久尤物</a>| <a href="http://yys4.com" target="_blank">久久女同互慰一区二区三区</a>| <a href="http://785448.com" target="_blank">欧美黑人国产人伦爽爽爽</a>| <a href="http://456kp.com" target="_blank">国产一区二区精品久久91</a>| <a href="http://889028.com" target="_blank">久久久久久久999精品视频</a>| <a href="http://3597777.com" target="_blank">亚洲一级在线</a>| <a href="http://8xn66w.com" target="_blank">国外视频精品毛片</a>| <a href="http://xxx444vip.com" target="_blank">亚洲一区观看</a>| <a href="http://sese135.com" target="_blank">亚洲综合精品四区</a>| <a href="http://www47067.com" target="_blank">99精品视频免费观看视频</a>| <a href="http://0855123.com" target="_blank">欧美在线视频一区二区</a>| <a href="http://sxxawef.com" target="_blank">国产精品自在线</a>| <a href="http://xingmaipet.com" target="_blank">亚洲视频在线看</a>| <a href="http://dgxinshidai.com" target="_blank">夜夜嗨av一区二区三区</a>| <a href="http://jizz16.com" target="_blank">欧美精品一区视频</a>| <a href="http://tcgo903.com" target="_blank">av成人老司机</a>| <a href="http://www672hh.com" target="_blank">欧美激情精品久久久六区热门</a>| <a href="http://631537.com" target="_blank">久久婷婷麻豆</a>| <a href="http://hjersqc.com" target="_blank">亚洲精品一区中文</a>| <a href="http://yunyang0991.com" target="_blank">一区二区成人精品 </a>| <a href="http://49vvvv.com" target="_blank">久久精品水蜜桃av综合天堂</a>| <a href="http://yyds16.com" target="_blank">国产欧美在线播放</a>| <a href="http://cczm4.com" target="_blank">久久久久久久一区二区三区</a>| <a href="http://cczm4.com" target="_blank">久久都是精品</a>| <a href="http://8946286.com" target="_blank">韩国女主播一区二区三区</a>| <a href="http://caoliu20.com" target="_blank">另类春色校园亚洲</a>| <a href="http://zzchanke.com" target="_blank">国产精品日本</a>| <a href="http://www-24333.com" target="_blank">久久精品在这里</a>| <a href="http://4923cc.com" target="_blank">久久xxxx</a>| <a href="http://wxtarena.com" target="_blank">亚洲毛片在线观看.</a>| <a href="http://008528.com" target="_blank">91久久香蕉国产日韩欧美9色</a>| <a href="http://qhzyxcd.com" target="_blank">欧美激情视频一区二区三区不卡</a>| <a href="http://saobitv.com" target="_blank">午夜精品久久久久久久蜜桃app</a>| <a href="http://cl6m.com" target="_blank">久久www成人_看片免费不卡</a>| <a href="http://www-35777.com" target="_blank">国产午夜久久</a>| <a href="http://niu96.com" target="_blank">一区二区三区欧美视频</a>| <a href="http://388123cc.com" target="_blank">亚洲美女精品一区</a>| <a href="http://a718sx.com" target="_blank">欧美三级乱码</a>| <a href="http://cswlts.com" target="_blank">亚洲区免费影片</a>| <a href="http://airsixth.com" target="_blank">亚洲第一页在线</a>| <a href="http://551692.com" target="_blank">久久综合国产精品</a>| <a href="http://5mcm.com" target="_blank">欧美成人精品在线</a>| <a href="http://681656.com" target="_blank">精品999成人</a>| <a href="http://pron12.com" target="_blank">免费观看30秒视频久久</a>| <a href="http://686852a.com" target="_blank">欧美国产视频一区二区</a>| <a href="http://7282789.com" target="_blank">久久亚洲视频</a>| <a href="http://by2735.com" target="_blank">亚洲第一精品在线</a>| <a href="http://667939.com" target="_blank">欧美激情无毛</a>| <a href="http://xshgwy.com" target="_blank">亚洲电影在线播放</a>| <a href="http://baidijs.com" target="_blank">亚洲精品欧美精品</a>| <a href="http://22400com.com" target="_blank">欧美日韩免费在线</a>| <a href="http://www-44899.com" target="_blank">亚洲天堂成人</a>| <a href="http://smiczbb.com" target="_blank">欧美中日韩免费视频</a>| <a href="http://ssss96.com" target="_blank">国产一区亚洲一区</a>| <a href="http://qmynong.com" target="_blank">欧美jizzhd精品欧美巨大免费</a>| <a href="http://pear9.com" target="_blank">欧美激情精品久久久久久黑人</a>| <a href="http://cqjk120.com" target="_blank">在线一区二区三区四区</a>| <a href="http://xmzszx.com" target="_blank">欧美日韩一区在线视频</a>| <a href="http://www9797abc.com" target="_blank">亚洲视频精品在线</a>| <a href="http://7269003.com" target="_blank">欧美亚洲综合在线</a>| <a href="http://bnb-gndc.com" target="_blank">亚洲片在线观看</a>| <a href="http://607032.com" target="_blank">欧美日韩成人在线视频</a>| <a href="http://caowo65.com" target="_blank">欧美一区91</a>| <a href="http://5xxm.com" target="_blank">日韩午夜av电影</a>| <a href="http://jsgf444.com" target="_blank">麻豆精品在线播放</a>| <a href="http://www-tk8899.com" target="_blank">99精品国产99久久久久久福利</a>| <a href="http://wallypanel.com" target="_blank">国产精品美女一区二区</a>| <a href="http://8xv0.com" target="_blank">欧美.com</a>| <a href="http://miya2223.com" target="_blank">久久久久久久国产</a>| <a href="http://sdxinqi.com" target="_blank">中文在线一区</a>| <a href="http://414794.com" target="_blank">亚洲精品欧美激情</a>| <a href="http://www308eee.com" target="_blank">久久尤物视频</a>| <a href="http://jiuzuifusheng.com" target="_blank">欧美在线欧美在线</a>| <a href="http://www-57549.com" target="_blank">亚洲女女女同性video</a>| <a href="http://muwendada.com" target="_blank">91久久久久久国产精品</a>| <a href="http://hellomusiczone.com" target="_blank">这里是久久伊人</a>| <a href="http://44cgcg.com" target="_blank">99国产精品视频免费观看一公开</a>| <a href="http://7777977.com" target="_blank">国产一区二区中文</a>| <a href="http://caogb.com" target="_blank">国产视频一区三区</a>| <a href="http://wltaste.com" target="_blank">国产日韩欧美在线</a>| <a href="http://687989.com" target="_blank">国产精品老牛</a>| <a href="http://744734.com" target="_blank">国产精品综合色区在线观看</a>| <a href="http://bcjianyan.com" target="_blank">欧美日韩日本国产亚洲在线</a>| <a href="http://ydy8.com" target="_blank">欧美一区二区高清在线观看</a>| <a href="http://yeedeli.com" target="_blank">亚洲图片在线</a>| <a href="http://9882355.com" target="_blank">在线一区二区三区四区</a>| <a href="http://www-833898.com" target="_blank">日韩亚洲欧美在线观看</a>| <a href="http://win-mdk.com" target="_blank">亚洲高清在线</a>| <a href="http://548710.com" target="_blank">一二三区精品福利视频</a>| <a href="http://444yd.com" target="_blank">亚洲午夜性刺激影院</a>| <a href="http://8946286.com" target="_blank">在线一区二区日韩</a>| <a href="http://hbdfgq.com" target="_blank">亚欧成人精品</a>| <a href="http://52wenxiu.com" target="_blank">美女精品网站</a>| <a href="http://zyjzz.com" target="_blank">日韩视频专区</a>| <a href="http://shllswkj.com" target="_blank">午夜视频一区二区</a>| <a href="http://0085212.com" target="_blank">久久九九国产精品</a>| <a href="http://889644.com" target="_blank">欧美美女视频</a>| <a href="http://521mu.com" target="_blank">激情亚洲一区二区三区四区</a>| <a href="http://8880850.com" target="_blank">亚洲国产精品日韩</a>| <a href="http://5xxm.com" target="_blank">午夜在线观看欧美</a>| <a href="http://91mase.com" target="_blank">久久中文字幕一区</a>| <a href="http://szywsj.com" target="_blank">日韩视频在线一区二区三区</a>| <a href="http://ycpeixun.com" target="_blank">午夜日韩在线观看</a>| <a href="http://www18bbav.com" target="_blank">欧美日韩在线三级</a>| <a href="http://4tobi.com" target="_blank">在线观看视频日韩</a>| <a href="http://bbww55.com" target="_blank">午夜久久资源</a>| <a href="http://www-477499.com" target="_blank">亚洲国产婷婷</a>| <a href="http://9xxpp.com" target="_blank">久久久久久日产精品</a>| <a href="http://3374com.com" target="_blank">国产精品久久久久毛片软件</a>| <a href="http://www149aa.com" target="_blank">亚洲欧洲精品成人久久奇米网</a>| <a href="http://84172199.com" target="_blank">亚洲一区在线直播</a>| <a href="http://ssni888.com" target="_blank">亚洲日本视频</a>| <a href="http://www-485050.com" target="_blank">欧美第一黄网免费网站</a>| <a href="http://wtoykd.com" target="_blank">亚洲高清不卡</a>| <a href="http://www-222kkk.com" target="_blank">美女视频一区免费观看</a>| <a href="http://bjjxgcsxy.com" target="_blank">午夜精品久久久久久久99水蜜桃</a>| <a href="http://iietao.com" target="_blank">欧美日韩中文在线</a>| <a href="http://188293.com" target="_blank">亚洲一区二区三区精品视频</a>| <a href="http://spyfaw.com" target="_blank">亚洲毛片一区二区</a>| <a href="http://353033.com" target="_blank">欧美日韩中文精品</a>| <a href="http://2938476.com" target="_blank">亚洲一区二区三</a>| <a href="http://spyfaw.com" target="_blank">亚洲欧美在线x视频</a>| <a href="http://4c8x.com" target="_blank">国内精品视频666</a>| <a href="http://114mz.com" target="_blank">欧美99在线视频观看</a>| <a href="http://xissy.com" target="_blank">免费视频一区</a>| <a href="http://www-6410c.com" target="_blank">亚洲第一天堂av</a>| <a href="http://xingmaipet.com" target="_blank">亚洲国产cao</a>| <a href="http://18mmcg.com" target="_blank">亚洲精品视频在线观看网站</a>| <a href="http://969093.com" target="_blank">欧美高清在线精品一区</a>| <a href="http://nxyhbz.com" target="_blank">一区二区三区高清在线</a>| <a href="http://5138555.com" target="_blank">亚洲色图制服丝袜</a>| <a href="http://173168.com" target="_blank">国产亚洲福利一区</a>| <a href="http://xshgwy.com" target="_blank">欧美11—12娇小xxxx</a>| <a href="http://www-699603.com" target="_blank">男人的天堂亚洲</a>| <a href="http://www-662553.com" target="_blank">亚洲专区国产精品</a>| <a href="http://hnspygxjscyfwzx.com" target="_blank">欧美一站二站</a>| <a href="http://fjccjq.com" target="_blank">99视频精品全部免费在线</a>| <a href="http://660507jj.com" target="_blank">亚洲欧美精品伊人久久</a>| <a href="http://www92y.com" target="_blank">在线成人激情</a>| <a href="http://hjk56.com" target="_blank">亚洲少妇诱惑</a>| <a href="http://0359222.com" target="_blank">91久久国产综合久久</a>| <a href="http://www44552.com" target="_blank">99国产精品久久久久久久成人热</a>| <a href="http://www-067.com" target="_blank">国产欧美在线看</a>| <a href="http://am3757.com" target="_blank">日韩一级精品</a>| <a href="http://fdgkinetic.com" target="_blank">亚洲黄色毛片</a>| <a href="http://www-44442.com" target="_blank">亚洲欧美日韩精品</a>| <a href="http://dd8uau0ncu.com" target="_blank">一本色道**综合亚洲精品蜜桃冫</a>| <a href="http://qscxx3.com" target="_blank">一本色道久久综合亚洲精品不</a>| <a href="http://411233.com" target="_blank">国产亚洲人成a一在线v站</a>| <a href="http://gbandal.com" target="_blank">亚洲国产一区二区a毛片</a>| <a href="http://smdzs.com" target="_blank">国产精一区二区三区</a>| <a href="http://www-68689.com" target="_blank">亚洲精品四区</a>| <a href="http://wwdd44.com" target="_blank">亚洲精品社区</a>| <a href="http://mishangmi.com" target="_blank">久久久999国产</a>| <a href="http://cxjzcl.com" target="_blank">久久视频国产精品免费视频在线</a>| <a href="http://mm778899.com" target="_blank">欧美日韩视频在线第一区</a>| <a href="http://lingshidu.com" target="_blank">亚洲承认在线</a>| <a href="http://y1bbs.com" target="_blank">亚洲激情视频在线播放</a>| <a href="http://395493.com" target="_blank">美女尤物久久精品</a>| <a href="http://wwwmiya118.com" target="_blank">欧美成人免费在线</a>| <a href="http://9658888.com" target="_blank">1024精品一区二区三区</a>| <a href="http://yishangsh.com" target="_blank">久久漫画官网</a>| <a href="http://xindefalv.com" target="_blank">免费一级欧美片在线播放</a>| <a href="http://missav88.com" target="_blank">在线不卡a资源高清</a>| <a href="http://9xxpp.com" target="_blank">欧美成人tv</a>| <a href="http://jzsp121.com" target="_blank">一本大道久久a久久精品综合</a>| <a href="http://xianqyd.com" target="_blank">亚洲最快最全在线视频</a>| <a href="http://k91cm.com" target="_blank">欧美日韩不卡合集视频</a>| <a href="http://8558585.com" target="_blank">亚洲婷婷综合久久一本伊一区</a>| <a href="http://ncyy4.com" target="_blank">欧美一区二视频在线免费观看</a>| <a href="http://ahqdlq.com" target="_blank">国产精品免费福利</a>| <a href="http://0999555.com" target="_blank">久久精品国产99</a>| <a href="http://4986888.com" target="_blank">亚洲精品日韩在线</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>