【发布时间】:2014-10-04 07:53:17
【问题描述】:
我从 ObjC 获得了这段代码。我想将它转换为 Swift,但是,我在这样做时遇到了困难......
ObjC 代码:
navgivet.h
typedef NS_ENUM(NSInteger, BB3Photo) {
kirkenType = 10 ,
festenType = 20 ,
praestType = 30
};
@property (nonatomic, assign) BB3Photo selectedPhotoType;
navgivet.m
- (IBAction)changeImage:(id)sender {
if ([sender isKindOfClass:[UIButton class]]) {
UIButton *button = sender;
_selectedPhotoType = button.tag;
}
UIActionSheet *sheet = [[UIActionSheet alloc] initWithTitle:@"Vælg Billed"
delegate:self
cancelButtonTitle:nil
destructiveButtonTitle:nil
otherButtonTitles:@"Vælg fra Biblioteket", @"Vælg Kamera", nil];
sheet.actionSheetStyle = UIActionSheetStyleDefault;
[sheet showInView:[self.view window]];
}
switch (_selectedPhotoType) {
case kirkenType: {
}break;
case festenType: {
}break;
case praestType: {
}break;
default:
break;
这是我这次尝试的快速代码
enum BBPhoto1: Int {
case kommunen = 10
case sagsbehandler = 20
case festen = 30
}
@IBAction func changeImage(sender: AnyObject){
if sender .isKindOfClass(UIButton){
let button: UIButton = sender as UIButton
selectedPhoto = BBPhoto1.fromRaw(button.tag)
}
let actionSheet = UIActionSheet(title: "Billeder", delegate: self, cancelButtonTitle: nil, destructiveButtonTitle: nil, otherButtonTitles: "Vælg fra Biblioteket", "Vælg Kamera")
actionSheet.showInView(self.view)
}
var selectedPhoto: BBPhoto1?
switch (selectedPhoto) {
case kommunen {
}
case sagsbehandler{
}
}
但我收到错误:“使用未解析的标识符 kommunen”和相同的消息,但使用 Sagsbehandler。
我如何使它工作?
【问题讨论】:
-
@Pointblaster 但关键是要知道我在编程什么等。知道我想分离什么并为之制作函数。它使使用名称变得更容易,而不是发明这道菜。我也在 2014 年发布了这个 ;)
-
抱歉,Kenny 忘记查看发布日期。你完全正确,祝你好运,希望你还在追求 swift 语言:)
标签: objective-c swift enums switch-statement ios8