Swift和Objective-C的不同

前端之家收集整理的这篇文章主要介绍了Swift和Objective-C的不同前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

声明类

Objective-C
    
    [<#Content#> class]
    
    ------------------------------------------------------------------------
    
    Swift
    
    <#content#>.self

打印一个对象所属类型

Objective-C
    
    // 打印一个对象所属类型
    NSLog(@"%@",[object class]);
Swift
    
    // 打印一个对象所属类型
    print("返回的类型是:--->\(<#object#>.dynamicType )");

拿到AppDelegate

Objective-C
    
    // 拿到 AppDelegate
    AppDelegate *tempAppDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
    
    -----------------------------------------------------------
    
    Swift
    
    // 拿到 AppDelegate
    let tempAppDelegate = UIApplication .sharedApplication().delegate as! AppDelegate;

反序列化

Objective-C
    
    // 苹果自带反序列化 返回类型id
    NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingAllowFragments error:&error];
    
    -------------------------------------------------
    
    Swift
    
    do {
        
        // 苹果自带反序列化
        let dict = try NSJSONSerialization.JSONObjectWithData(jsonData!,options: .AllowFragments)
        
        // 继续下一步操作
        
    } catch {
        
        print(error);
    }

类型转换和判断

Objective-C
    
    // 类型判断
    if ([<#object#> isKindOfClass:[<#Class#> class]]) {
        
        // 类型转换
        <#Class#> *<#Name#> = (<#Class#> *)<#object#>;
        
    }
    
    -------------------------------------------------
    
    Swift

    // 判断 类型
    if <#object#>.isKindOfClass(<#Class#>) == false {
        
        return;
        
    }
    
    // 类型转换
    let <#Name#> = <#object#> as! <#Class#>;

dealloc/控制器被释放

Objective-C
    // 控制器被释放时 调用方法
    - (void)dealloc {
        printf("控制器释放");
    }
    -------------------------------------------------
    Swift
    // 析构器方法 类似于Object-C的 dealloc
    deinit {
         print("控制器释放");
    }

获取字符串长度

Objective-C

    // 获取字符串长度
    string.length
    -------------------------------------------------
    Swift
    
    // 获取字符串长度
    string.characters.count

猜你在找的Swift相关文章