Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

Objective C 2.0 ÊôÐÔ(Property)

Ô­ÌûÒ»£ºhttp://blog.csdn.net/dotphoenix/archive/2009/05/20/4203075.aspx
Ô­Ìù¶þ£ºhttp://www.cocoachina.com/bbs/read.php?tid-8008.html
@property (²ÎÊý) ÀàÐÍ Ãû×Ö;
ÕâÀïµÄ²ÎÊýÖ÷Òª·ÖΪÈýÀࣺ¶ÁдÊôÐÔ£¨readwrite/readonly£©£¬setterÓïÒ⣨assign/retain/copy£©ÒÔ¼°atomicity£¨nonatomic£©¡£
assign/retain/copy¾ö¶¨ÁËÒÔºÎÖÖ·½Ê½¶ÔÊý¾Ý³ÉÔ±¸³ÓèÐÂÖµ¡£ÎÒÃÇÔÚÉùÃ÷summary properyʱʹÓÃÁËreadonly£¬ËµÃ÷¿Í»§¶ËÖ»ÄܶԸÃproperty½øÐжÁÈ¡¡£atomicityµÄĬÈÏÖµÊÇatomic£¬¶ÁÈ¡º¯ÊýΪԭ×Ó²Ù×÷¡£
ÔÚobjective c 2.0Ï£¬ÓÉÓÚÎÒÃÇÉùÃ÷ÁËproperty£¬implementationÎļþ¿ÉÒÔ¸ü¸ÄÈçÏ£º
¿ÉÒÔ¿´µ½Êý¾Ý³ÉÔ±titleºÍnumofpagesµÄ¶Áдº¯ÊýÒѾ­²»¸´´æÔÚ£¬È¡¶ø´úÖ®µÄÊÇÁ½ÐÐ@synthesize£¬
¼ûÏÂÁÐʾÀý´úÂ룺
 
//test.h
@interface MyTest : NSObject {
int myArray[5];
}
@end
 
Èç¹û²ÉÓÃ
@property int myArray[5];
¿Ï¶¨»á³ö´í¡£
ÒòΪ@propertyµÄÉùÃ÷ָʾ±àÒëÆ÷ĬÈϵظømyArrayÌí¼ÓÁËmyArrayÒÔ¼°setMyArrayµÄÕâÑùÒ»¶ÔgetterºÍsetter·½·¨¡£ÓÉÓÚobjective-CÖз½·¨µÄ·µ»ØÀàÐͲ»ÄÜÊÇÊý×飬ËùÒÔÉÏÊöÉùÃ÷propertyµÄ·½Ê½ÊÇͨ²»¹ý±àÒëµÄ¡£
ÕýÈ·µÄ·½Ê½ÊÇ£º
 
//test.h
@interface MyTest : NSObject {
int myArray[5];
}
- (void)outPutValues;
@property int* myArray;
@end
 
¼´£¬Ê¹ÓÃÖ¸ÕëÀ´±íʾ·µ»ØÀàÐͲ¢×÷Ϊ²ÎÊýÉèÖÃÀàÐÍ¡£
²»¹ýÕâÑùÒ»À´¾ÍÎÞ·¨ÔÚ.mÎļþµÄʵÏÖÖÐʹÓÃ@synthesize£¬¶øÊÇÐèÒªÏÔʽµØÊµÏÖÕâ¶Ô·½·¨£º
 
#import <Foundation/Foundation.h>
#import "test.h"
#include <stdio.h>
 
@implementation MyTest
 
- (int*)myArray
{
return myArray;
}
 
- (void)setMyArray:(int*)anArray
{
if(anArray != NULL)
{
for(int i=0; i<5; i++)
myArray[i] = anArray[i];
}
}
ÕâÑùÒ»À´¶ÔÓÚÊý×éÐͱäÁ¿³ÉÔ±¾ÍÎÞ·¨Ê¹Óõ㣨.£©²Ù×÷·ûÀ´³éÏóµô¶ÔsetterºÍgetterµÄµ÷Óã¨Ê¹Óõã²Ù×÷·û·ÃÎʶÔÏóµÄ³ÉÔ±Êý¾Ý·Ç³£·½±ã£¬
¸ù¾ÝË÷Òª·ÃÎʵÄÊý¾Ý³ÉÔ±´¦ÓÚ×óÖµ»¹ÊÇÓÒÖµ¶øÓɱàÒëÆ÷×Ô¶¯Åж¨µ÷ÓÃsetter»¹ÊÇgetter£©¡£
 


Ïà¹ØÎĵµ£º

C/C++»ù±¾Êý¾ÝÀàÐÍ

ÁËCÈ»ºóC++£¬È»ºóMFC/Windows,È»ºóÊÇC#,ÆäÖÐÊý¾ÝÀàÐͺܶ࣬ÓÉ»ù±¾ÀàÐÍÑÜÉúµÄtypedefÀàÐÍÒ²N¶à¡£ÊìÖª»ù±¾Êý¾ÝÀàÐÍÊÇÎÒÃÇÕýÈ·±í´ïʵ¼ÊÎÊÌâÖи÷ÖÖÊý¾ÝµÄǰÌᣬÒò´ËÎÒ·ÖÀà×ܽáÁËÒ»ÏÂC/C++/Windows /C#»ù±¾Êý¾ÝÀàÐÍ£¬ÒÔ±ãÈÕºó²éÔÄ¡£
         ANSI C/C++»ù±¾Êý¾ÝÀàÐÍ£º
Type
Size
Ê ......

CÓëC++Îļþ»¥Ïàµ÷ÓÃ

ʱ³£ÔÚcppµÄ´úÂëÖ®Öп´µ½ÕâÑùµÄ´úÂë:
#ifdef __cplusplus 
extern "C" { 
#endif
//Ò»¶Î´úÂë
#ifdef __cplusplus 

#endif 
    ÕâÑùµÄ´úÂëµ½µ×ÊÇʲôÒâË¼ÄØ£¿Ê×ÏÈ£¬__cplusplusÊÇcppÖеÄ×Ô¶¨Òåºê£¬ÄÇô¶¨ÒåÁËÕâ¸öºêµÄ»°±íʾÕâÊÇÒ»¶ÎcppµÄ´úÂ룬Ҳ¾ÍÊÇ˵£¬ÉÏÃæµÄ´úÂëµÄº ......

#ÔÚCÖеÄÃîÓÃÄãÖªµÀ¶àÉÙ

CÖеÄ#ºÅ²»½öÊÇ#include£¬#defineµÈµÄ¹Ø¼ü×ÖÊ×ʹÓöøÒÑ£¬#ÔÚºêÖл¹ÓкܶàÓ÷¨¡£¾ßÌåÇë¿´ÏÂÃæÎÒÀ´¾ÙÀý
1.Ë«#ºÅµÄºêÓ÷¨¡£
ÎÒÏàÐÅË«##ºÅµÄÓ÷¨Ó¦¸Ã´ó²¿·ÖÈ˶¼¼û¹ý°É£¬Ö÷ÒªÊÇÓÃÀ´Á¬½Óºê±äÁ¿ÃûʹÓã¬ÔÚGCC²Î¿¼ÊÖ²áÖÐÕâÑù¼ÇÔØ¡£
¿ÉÓÃÓÚºêÄÚ²¿½«Á½¸öÔ´´úÂëȨ±êÁ¬½Ó³ÉÒ»¸öµÄÁ¬½Óָʾ×Ö£¬¿ÉÓÃÀ´¹¹Ôì²»»á±»½âÎöÆ÷´íÎó½âÊ͵ÄÃû×Ö¡£ ......

CÖÐÀ¨ºÅÓÅÏȼ¶µÄ˼¿¼

ÎÊÌâÔ´ÓÚÂÛ̳µÄÒ»µÀÌâÄ¿£º
http://topic.csdn.net/u/20100216/21/ec98464e-a47e-4263-bb1c-a001e130ba87.html
ÏÂÃæÊÇÎÊÌ⣺
Éèint arr[]={6,7,8,9,10};
int *ptr=arr;
*(ptr++)+=123;
printf(£¢%d,%d£¢,*ptr,*(++ptr));
´ð°¸ÎªÊ²Ã´ÊÇ£º8£¬8
ÎÊÌâµÄ½¹µãÒ²ÂäÔÚprintfÖ´ÐеÄÎÊÌâÉÏ£¬µ½µ×ÏÈÖ´ÐÐË­£¬ºóÖ´ÐÐË­£¬ »¹Óв¿·Ö ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ