Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
218
Help us understand the problem. What is going on with this article?
@skatata

【Objective-CとSwift比較】※今後追加予定

More than 5 years have passed since last update.

■UIView

@Obj-C

UIView *v = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 100, 100)];
v.backgroundColor = [UIColor colorWithRed:1.0f green:1.0 blue:0.0 alpha:1.0f];
[self.view addSubview:v];

@Swift

let v:UIView = UIView(frame:CGRectMake(0, 0, 100, 100));
v.backgroundColor = UIColor(red: 1.0, green: 1.0, blue: 0.0, alpha: 1.0);
self.view.addSubview(v);

■UIImage

@Obj-C

UIImage *img = [UIImage imageNamed:@"img.png"];

@Swift

let img:UIImage = UIImage(named:"img.png");

■UIImageView

@Obj-C

UIImageView *iv = [[UIImageView alloc] initWithImage:img];
iv.frame = CGRectMake(0, 0, 100, 100);
[self.view addSubview:iv];

@Swift

let iv:UIImageView = UIImageView(image:img);
iv.frame = CGRectMake(0, 0, 100, 100);
self.view.addSubview(iv);

■アニメーション

@Obj-C

[UIView animateWithDuration:1.0f
    delay:0.0f
    options:UIViewAnimationOptionCurveEaseIn
animations:^(void){
    iv.frame = CGRectMake(200, 0, 100, 100);
    iv.transform = CGAffineTransformScale(iv.transform, 0.5, 0.5);
    iv.alpha = 0.5;
}
completion:^(BOOL finished){
    NSLog(@"Animation End");
}];

@Swift

UIView.animateWithDuration(
    1.0,
    delay: 0.0,
    options: UIViewAnimationOptions.CurveEaseIn,
    animations: {
        iv.frame = CGRectMake(200, 0, 100, 100);
        iv.transform = CGAffineTransformScale(iv.transform, 0.5, 0.5);
        iv.alpha = 0.5;
    },
    completion:{
        (value: Bool) in
        println("Animation End");
    }
);

■UIButton

@Obj-C

UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom];
btn.frame = CGRectMake(100, 0, 100, 100);
[btn setImage:img forState:UIControlStateNormal];
[btn addTarget:self action:@selector(onClick:) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:btn];

@Swift

let btn:UIButton? = UIButton.buttonWithType(UIButtonType.Custom) as? UIButton;
btn!.frame = CGRectMake(100, 0, 100, 100);
btn!.setImage(img, forState: UIControlState.Normal);
btn!.addTarget(self, action: "onClick:", forControlEvents: UIControlEvents.TouchUpInside);
self.view.addSubview(btn);

■NSString

@Obj-C

NSString *str0 = @"文字列";
NSString *str1 = [NSString stringWithFormat:@"文字列%d", 1];

@Swift

let str0:String! = "文字列";
let str1:String! = NSString(format:"文字列%d", 1)

■NSLog

@Obj-C

NSLog(@"%@ : %@", str0, str1);

@Swift

NSLog("%@ : %@", str0, str1);
println("\(str0) : \(str1)");

■NSArray

@Obj-C

NSArray *arr0 = [NSArray arrayWithObjects:@"0", @"1", @"2", nil];
for(NSString *v in arr0){
    NSLog(@"%@", v);
}

@Swift

let arr0:String[] = ["0", "1", "2"];
arr0[0] = "00"; // 差し替えは可能
// arr0 += ["3", "4"]; // 追加は不可
// arr0.insert("insert", atIndex:1); // 差し込みは不可
for v in arr0{
    println("\(v)");
}

■NSMutableArray

@Obj-C

NSMutableArray *arr1 = [NSMutableArray arrayWithObjects:@"0", @"1", @"2", nil];
[arr1 replaceObjectAtIndex:0 withObject:@"00"]; // 差し替え
[arr1 addObject:@"3"]; // 追加
[arr1 addObject:@"4"]; // 追加
[arr1 addObject:@"5"]; // 追加
[arr1 insertObject:@"insert" atIndex:1]; // 差し込み
for(NSString *v in arr1){
    NSLog(@"%@", v);
}

@Swift

var arr1:String[] = ["0", "1", "2"];
arr1[0] = "00"; // 差し替え
arr1 += ["3", "4"]; // 追加
arr1.append("5"); // 追加
arr1.insert("insert", atIndex:1); // 差し込み
for v in arr1{
    println("\(v)");
}

■NSDictionary

@Obj-C

NSDictionary *dict0 = [NSDictionary dictionaryWithObjectsAndKeys:@"value0", @"key0", @"value1", @"key1", nil];
for(NSString *key in [dict0 allKeys]){
    NSLog(@"%@, %@", key, [dict0 objectForKey:key]);
}

@Swift

let dict0:Dictionary<String, String> = ["key0" : "value0", "key1" : "value1"];
//dict0["key0"] = "mod_value0"; // 差し替えは不可
//dict0["key2"] = "value2"; // 追加は不可
//dict0.removeValueForKey("key1"); 削除は不可
for key in dict0.keys{
    println("\(key) : \(dict0[key])");
}

■NSMutableDictionary

@Obj-C

NSMutableDictionary *dict1 = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"value0", @"key0", @"value1", @"key1", nil];
[dict1 setObject:@"mod_value0" forKey:@"key0"]; // 差し替え
[dict1 setObject:@"value2" forKey:@"key2"]; // 追加
[dict1 removeObjectForKey:@"key1"]; // 削除
for(NSString *key in [dict1 allKeys]){
    NSLog(@"%@, %@", key, [dict1 objectForKey:key]);
}

@Swift

var dict1:Dictionary<String, String> = ["key0" : "value0", "key1" : "value1"];
dict1["key0"] = "mod_value0"; // 差し替え
dict1["key2"] = "value2"; // 追加
dict1.removeValueForKey("key1"); // 削除
for key in dict1.keys{
    println("\(key) : \(dict1[key])");
}
218
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
skatata

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
218
Help us understand the problem. What is going on with this article?