所以我是一个Flash家伙,我正在尝试将以下代码转换为对象C:
var slot:Object = new Object(); slot.id = i; slot.xPos = 25*i; slot.yPos = 25*i; slot.isEmpty = False; // push object to array arrGrid.push(slot);
后来我可以覆盖:
arrGrid[0].isEmpty = True;
我似乎无法找到在对象C中创建通用对象的引用.有人可以帮忙吗?
假设你在cocoa中使用iphone或mac做一些事情,你可以简单地继承NSObject(objective-c中的基类).
你需要一个.h和.m这样的例子就像:(注意我使用了slotId而不是id,因为id是objective-c中的一个关键字)
Slot.h
// Slot.h @interface Slot : NSObject { NSInteger slotId; float xPos; float yPos; BOOL empty; } @property NSInteger slotId; @property float xPos; @property float yPos; @property BOOL empty; @end // Slot.m #import "Slot.h" @implementation Slot @synthesize slotId; @synthesize xPos; @synthesize yPos; @synthesize empty; @end
它定义了一个具有4个属性的简单Slot对象,可以使用点表示法访问它们,例如:
s = [[Slot alloc] init]; s.empty = YES; s.xPos = 1.0; s.yPos = 1.0;
根据您处理的数据类型,您使用的数据类型以及如何定义属性等有很多变体.
如果要将插槽对象添加到数组,可以使用一个简单示例:
// create an array and add a slot object NSMutableArray *arr = [NSMutableArray array]; Slot *slot = [[Slot alloc] init]; [arr addObject:slot]; // set the slot to empty [[arr objectAtIndex:0] setEmpty:YES];