zoukankan      html  css  js  c++  java
  • iOS arc和非arc 适用 宏

    iOS arc和非arc 适用 宏

    1:使用宏

    + (void)showAlertWithMessage:(NSString *)messages
    {
        dispatch_async(dispatch_get_main_queue(), ^{
            UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"版本更新提示" message:messages delegate:nil cancelButtonTitle:@"确定" otherButtonTitles:nil, nil];
            [alert show];
            
    #if !__has_feature(objc_arc)
            [alert release];
    #endif
        });
    
    }

    2:使用 ARC helper

    #import <Availability.h>
    #undef ah_retain
    #undef ah_dealloc
    #undef ah_autorelease autorelease
    #undef ah_dealloc dealloc
    #if __has_feature(objc_arc)
    #define ah_retain self
    #define ah_release self
    #define ah_autorelease self
    #define ah_dealloc self
    #else
    #define ah_retain retain
    #define ah_release release
    #define ah_autorelease autorelease
    #define ah_dealloc dealloc
    #undef __bridge
    #define __bridge
    #undef __bridge_transfer
    #define __bridge_transfer
    #endif
     
    //  Weak reference support
     
    #import <Availability.h>
    #if !__has_feature(objc_arc_weak)
    #undef ah_weak
    #define ah_weak unsafe_unretained
    #undef __ah_weak
    #define __ah_weak __unsafe_unretained
    #endif
     
    //  Weak delegate support
     
    #import <Availability.h>
    #undef ah_weak_delegate
    #undef __ah_weak_delegate
    #if __has_feature(objc_arc_weak) && 
    (!(defined __MAC_OS_X_VERSION_MIN_REQUIRED) || 
    __MAC_OS_X_VERSION_MIN_REQUIRED >= __MAC_10_8)
    #define ah_weak_delegate weak
    #define __ah_weak_delegate __weak
    #else
    #define ah_weak_delegate unsafe_unretained
    #define __ah_weak_delegate __unsafe_unretained
    #endif

    https://gist.github.com/nicklockwood/1563325

  • 相关阅读:
    jquery判断<inpur type="checkbox" checked>是否被选择
    hibernate多对多的更新问题
    关于getHibernateTemplate().get()方法
    springmvc的@ResponseBody报错
    @RequestBody ajax 415 400
    js判断浏览器的类型,动态调整div布局
    平衡树treap 0基础详解
    P1582 倒水 题解
    vscode入门记
    P5025 [SNOI2017]炸弹 题解
  • 原文地址:https://www.cnblogs.com/cocoajin/p/3526662.html
Copyright © 2011-2022 走看看