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++£¬È»ºóMFC/Windows,È»ºóÊÇC#,ÆäÖÐÊý¾ÝÀàÐͺܶ࣬ÓÉ»ù±¾ÀàÐÍÑÜÉúµÄtypedefÀàÐÍÒ²N¶à¡£ÊìÖª»ù±¾Êý¾ÝÀàÐÍÊÇÎÒÃÇÕýÈ·±í´ïʵ¼ÊÎÊÌâÖи÷ÖÖÊý¾ÝµÄǰÌᣬÒò´ËÎÒ·ÖÀà×ܽáÁËÒ»ÏÂC/C++/Windows /C#»ù±¾Êý¾ÝÀàÐÍ£¬ÒÔ±ãÈÕºó²éÔÄ¡£
ANSI C/C++»ù±¾Êý¾ÝÀàÐÍ£º
Type
Size
Ê ......
extern "C" °üº¬Ë«Öغ¬Ò壬´Ó×ÖÃæÉϼ´¿ÉµÃµ½£ºÊ×ÏÈ£¬±»ËüÐÞÊεÄÄ¿±êÊÇ“extern”µÄ£»Æä´Î£¬±»ËüÐÞÊεÄÄ¿±êÊÇ“C”µÄ¡£ÈÃÎÒÃÇÀ´Ïêϸ½â¶ÁÕâÁ½Öغ¬Òå¡£
¡¡¡¡£¨1£© ±»extern "C"ÏÞ¶¨µÄº¯Êý»ò±äÁ¿ÊÇexternÀàÐ͵ģ»
¡¡¡¡externÊÇC/C++ÓïÑÔÖбíÃ÷º¯ÊýºÍÈ«¾Ö±äÁ¿×÷Ó÷¶Î§£¨¿É¼ûÐÔ£©µÄ¹Ø¼ü×Ö£¬¸Ã¹Ø¼ü×Ö¸æËß±àÒ ......
C/C++ development with the Eclipse Platform
Pawel Leszek
ÕªÒª:ͨ¹ý±¾ÎÄÄ㽫»ñµÃÈçºÎÔÚEclipseƽ̨ÉÏ¿ª·¢C/C++ÏîÄ¿µÄ×ÜÌåÈÏʶ¡£ËäÈ»EclipseÖ÷Òª±»ÓÃÀ´¿ª·¢JavaÏîÄ¿£¬µ«ËüµÄ¿ò¼ÜʹµÃËüºÜÈÝÒ×ʵÏÖ¶ÔÆäËû¿ª·¢ÓïÑÔµÄÖ§³Ö¡£ÔÚÕâÆªÎÄÕÂÀÄ㽫ѧ»áÈçºÎʹÓÃCDT(C/C++ Development Toolkit)£¬Ò»¸öÔÚEclipseƽ̨ÉÏ×î ......
×÷ÕߣºKevin Lynx¡¡À´Ô´£ºC++²©¿Í
ת×Ô:http://www.kuqin.com/language/20080319/4797.html
ÖÚ¶àC++Êé¼®¶¼ÖÒ¸æÎÒÃÇCÓïÑÔºêÊÇÍò¶ñÖ®Ê×£¬µ«ÊÂÇé×ܲ»ÈçÎÒÃÇÏëÏóµÄÄÇô»µ£¬¾ÍÈçͬgotoÒ»Ñù¡£ºêÓÐ
Ò»¸öºÜ´óµÄ×÷Ó㬾ÍÊÇ×Ô¶¯ÎªÎÒÃDzúÉú´úÂë¡£Èç¹û˵ģ°å¿ÉÒÔΪÎÒÃDzúÉú¸÷ÖÖÐͱðµÄ´úÂë(ÐͱðÌæ»»)£¬
ÄÇôºêÆäʵ¿ÉÒÔΪÎÒÃÇÔÚ·ûºÅÉÏ ......
CRTÔÏÈÊÇÖ¸Microsoft¿ª·¢µÄC Runtime Library£¬ÓÃÓÚ²Ù×÷ϵͳµÄ¿ª·¢¼°ÔËÐС£ºóÀ´ÔÚ´Ë»ù´¡ÉÏ¿ª·¢ÁËC++ Runtime Library£¬ËùÒÔÏÖÔÚCRTÊÇÖ¸Microsoft¿ª·¢µÄC/C++ Runtime Library¡£ÔÚVCµÄCRT/SRCĿ¼Ï£¬¿ÉÒÔ¿´µ½CRTµÄÔ´Â룬²»½öÓÐCµÄ£¬Ò²ÓÐC++µÄ¡£
CRTÔÏȵÄÄ¿µÄ¾ÍÊÇÖ§³Ö²Ù×÷ϵͳµÄÔËÐ ......