我想这个Objective-C代码转换为迅速,但似乎无法推测出来:NSMutableArray。 Objective-C的到SWIFT代码
@implementation MultiplayerNetworking {
uint32_t _ourRandomNumber;
GameState _gameState;
BOOL _isPlayer1, _receivedAllRandomNumbers;
NSMutableArray *_orderOfPlayers;
#define playerIdKey @"PlayerId"
#define randomNumberKey @"randomNumber"
- (id)init
{
if (self = [super init]) {
_ourRandomNumber = arc4random();
_gameState = kGameStateWaitingForMatch;
_orderOfPlayers = [NSMutableArray array];
[_orderOfPlayers addObject:@{playerIdKey : [GKLocalPlayer localPlayer].playerID, randomNumberKey : @(_ourRandomNumber)}];
}
return self;
}
};
这就是我想我会是这样,但我我一点都不确定,所以我会很感激在这里的帮助。
class MultiplayerNetworking {
var _ourRandomNumber = uint32_t()
var _gameState = GameState()
var isPlayer1 = false
var receivedAllRandomNumbers = false
var orderOfPlayers = [AnyObject]()
let playerIdKey = "PlayerId"
let randomNumberKey = "randomNumber"
override init() {
super.init()
self.ourRandomNumber = arc4random()
self.gameState = kGameStateWaitingForMatch
self.orderOfPlayers = [AnyObject]()
orderOfPlayers.append([playerIdKey: GKLocalPlayer.localPlayer().playerID, randomNumberKey: ourRandomNumber])
}
}
但它给了我一些错误,有很多:
我用这个转换器:objectivec2swift.com,因为我有一个Objective-C的
基本上在Swift中没有以下划线开头的隐式支持实例变量。删除两个主要的下划线。 'uint32_t'是'UInt32' – vadian