• oc代码直接转swift代码

    2020-07-12 23:30:21
    oc代码直接转swift代码,非常好用,绝对福利~更多精彩
  • 一个 XCode 插件,可以将 OC 代码转换成 Swift.zip,An Xcode Plugin to convert Objective-C to Swift
  • oc自动转换成swift网址

    2015-11-12 17:54:03
    https://objectivec2swift.com/#/converter/code
    https://objectivec2swift.com/#/converter/code
    
    展开全文
  • SwiftOC代码转换实例

    2019-07-22 11:35:57
    1. Objectice-C code: 1 NSShadow *shadow = [NSShadow new]; 2 ... 3 [shadow setShadowColor:[UIColor colorWithRed:1.0 green:1.0 blue:1.0 alpha:1.0]];... 5 [shadow setShadowOffset:CGSizeMake(0, ...

    1.

    Objectice-C code:

     1 NSShadow *shadow = [NSShadow new];
     2 
     3 [shadow setShadowColor:[UIColor colorWithRed:1.0 green:1.0 blue:1.0 alpha:1.0]];
     4 
     5 [shadow setShadowOffset:CGSizeMake(0, 1)];
     6 
     7 NSDictionary *attributes = @{
     8 
     9                                 NSForegroundColorAttributeName: [UIColor colorWithRed:220.0/255.0 green:104.0/255.0 blue:1.0/255.0 alpha:1.0],
    10 
    11                                 NSShadowAttributeName: shadow,
    12 
    13                                 NSFontAttributeName: [UIFont fontWithName:@"AmericanTypewriter" size:16.0]
    14 
    15                              };
    16 
    17 [self.navigationItem.rightBarButtonItem setTitleTextAttributes:attributes forState: UIControlStateNormal];
    18 
    19 // Or you can use.
    20 
    21 [[UIBarItem appearance] setTitleTextAttributes:attributes forState: UIControlStateNormal];

    Swift Code:

    // Bar title text color
    
    let shadow = NSShadow()
    
    shadow.shadowColor = UIColor(red: 1.0, green: 1.0, blue: 1.0, alpha: 1.0)
    
    shadow.shadowOffset = CGSizeMake(0, 1)
    
    let color : UIColor = UIColor(red: 220.0/255.0, green: 104.0/255.0, blue: 1.0/255.0, alpha: 1.0)
    
    let titleFont : UIFont = UIFont(name: "AmericanTypewriter", size: 16.0)!
    
    let attributes = [
    
                            NSForegroundColorAttributeName : color,
    
                            NSShadowAttributeName : shadow,
    
                            NSFontAttributeName : titleFont
    
                     ]
    
    self.navigationItem.rightBarButtonItem?.setTitleTextAttributes(attributes, forState: UIControlState.Normal)
    
    // Or you can use
    
    UIBarItem.appearance().setTitleTextAttributes(attributes, forState: UIControlState.Normal)

     2.

    OC:

        //设置导航栏字体颜色

        [self.navigationController.navigationBar setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:[UIColor whiteColor],UITextAttributeTextColor,nil]];

        //[UIFont fontWithName:@"Arial-Bold" size:0.0], UITextAttributeFont

    Swift:

    UINavigationBar.appearance().titleTextAttributes = [NSForegroundColorAttributeName:UIColor.whiteColor(),

            NSFontAttributeName: UIFont(name: "Heiti SC", size: 24.0)!]

    3.

    OC: 

    //改变UITabBarItem字体颜色

        [[UITabBarItem appearance] setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:[UIColor colorWithRed:0 green:0.72 blue:0.69 alpha:1],UITextAttributeTextColor, nil] forState:UIControlStateSelected];

    Swift:

    let attributes =  [NSForegroundColorAttributeName: UIColor(red: 0, green: 0.72, blue: 0.69, alpha: 1)]

            UITabBarItem.appearance().setTitleTextAttributes(attributes, forState: UIControlState.Selected)

    4.

    OC:

    //警示样式

        UIAlertController *alertController = [UIAlertController alertControllerWithTitle:@"标题" message:@"这是个UIAlertController的默认样式" preferredStyle:UIAlertControllerStyleAlert];

        UIAlertAction *cancelAction = [UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleDestructive handler:nil];

        UIAlertAction *okAction = [UIAlertAction actionWithTitle:@"好的" style:UIAlertActionStyleDefault handler:nil];

        [alertController addAction:cancelAction];

        [alertController addAction:okAction];

        [self presentViewController:alertController animated:YES completion:nil];

    Swift:

    //警示样式

            let alertController = UIAlertController(title: "标题", message:"这个是UIAlertController的默认样式", preferredStyle: UIAlertControllerStyle.Alert)

            let cancelAction = UIAlertAction(title: "取消", style:UIAlertActionStyle.Destructive, handler: nil)

            let okAction = UIAlertAction(title: "确定", style:UIAlertActionStyle.Default, handler:nil)

            alertController.addAction(cancelAction)

            alertController.addAction(okAction)

            self.presentViewController(alertController,animated:true,completion:nil)

     

    转载于:https://www.cnblogs.com/abelsu/p/4858443.html

    展开全文
  • 小编为大家带来了一款Mac平台上非常实用的Objective-C代码转换...有了这款软件之后,您可以非常方便快速的将Objective-C代码转换Swift代码,支持拖拽操作,简单高效,是很实用的一款辅助工具,需要的朋友快来下载吧!
  • OCSwift工具

    2016-05-18 14:34:17
    http://www.ucai.cn/index.php?app=tools&mod=Code&act=oc2swift
    http://www.ucai.cn/index.php?app=tools&mod=Code&act=oc2swift
    
    展开全文
  • OC项目中使用Swift

    2016-02-27 09:23:30
    OC项目中使用Swift 本文版权归作者所有,如需转载...最近公司的项目开始计划使用Swift,由于原先的工程都是使用OC编写的,不可能一下全部转换成Swift,所以采用OCSwift混编的方式是最好的选择。这篇文章只是一个简单

    OC项目中使用Swift

    本文版权归作者所有,如需转载请联系孟祥月
    CSDN博客:http://blog.csdn.net/mengxiangyue
    独立博客:http://mengxiangyue.com

    最近公司的项目开始计划使用Swift,由于原先的工程都是使用OC编写的,不可能一下全部转换成Swift,所以采用OC与Swift混编的方式是最好的选择。这篇文章只是一个简单的介绍,并没有太高深的知识。

    我新建了一个演示的OC工程,当然你可以使用你已经存在的OC的工程。如果我们想要在OC工程中使用Swift的代码,Swift的代码默认是使用module管理的,同样这里我们也需要把我们的Swift代码作为一个module暴露给我们的OC工程,修改下面的配置:

    上面的修改了一个配置项,有一个Product Module Name在后面会使用。

    在工程里面点击File/New/File…,选择iOS/Source/Cocoa Touch Class,按照如下填写创建一个新的文件:

    上图中的Subclass of一定要设置为NSObject或其子类,否则OC工程将不会找到该类。

    点击确认后会选择保存路径,点击Create,出现如下界面:

    这个界面是询问是否创建桥接的头文件,这个文件在Swift调用OC代码的时候比较管用,但是在OC中调用Swift的时候我发现没有什么卵用。

    选择Don’t Create按钮。

    在Test.swift中添加如下的代码(解释都在注释里面了):

    import UIKit
    
    /*
        如果Swift类想要被OC发现,必须继承自NSObject并且使用public标记,并且该类中想要被OC访问的方法也必须使用public标记,具体知识可以去看Swift的访问控制
        原因:Swift的代码对于OC来说是作为一个module存在的
    
        当然全局的Swift函数,我还没发现怎么在OC中访问,如果哪位清楚还请告诉一下,谢谢!
    */
    
    
    public class Test: NSObject {
        public func log() {
            print("这是Swift的方法")
        }
    }
    
    public func globalLog() {
        print("这是Swift全局的log方法")
    }

    我们在我们想要调用Swift类的方法里面引入头文件:”Product Module Name-Swift.h”,其中Product Module Name替换成在上面配置项中显示的内容,例如:

    #import "ViewController.h"
    // 引入Swift头文件
    #import "OCAndSwift-Swift.h"
    
    @implementation ViewController
    
    - (void)viewDidLoad {
        [super viewDidLoad];
    
        // 使用Swift的类
        Test *test = [[Test alloc] init];
        [test log];
    }
    
    @end

    这样我们就能够在OC中使用Swift的代码了,最后还要说明一点:”Product Module Name-Swift.h”(例子中的是OCAndSwift-Swift.h),是由编译器自动生成的,如果import后没有提示,编译一下。并且只有在工程中包含至少一个Swift文件的时候,才会自动生成这个文件,所以如果工程中如果没有Swift文件的时候,就算在配置中设置对了,import该文件也会报错。

    展开全文
  • SwiftOC转换

    2015-09-16 20:36:13
    1、获取对象类型 OC: NSDate*date = [NSDatedate];NSLog(@"%@",NSStringFromClass([date class])); Swift: let date = NSDate() let name = date.dynamicType 共有: let name:
    1、获取对象类型
    OC:

    NSDate* date = [NSDatedate];

    NSLog(@"%@",NSStringFromClass([date class]));


    Swift

    letdate =NSDate()

    letname = date.dynamicType


    共有:

    let name:AnyClass! = object_getClass(date)


    2、函数入参中对象转化
    OC转Swift,对象变为可选类型
    Swift转OC,不用改变

    3、枚举
    1)Swift按位操作使用OptionSetType
    struct MyOptions : OptionSetType {
        let rawValue: Int
    
        static let None         = MyOptions(rawValue: 0)
        static let FirstOption  = MyOptions(rawValue: 1 << 0)
        static let SecondOption = MyOptions(rawValue: 1 << 1)
        static let ThirdOption  = MyOptions(rawValue: 1 << 2)
    }
    

    Now we can use set-based semantics with MyOptions:

    let singleOption = MyOptions.FirstOption
    let multipleOptions: MyOptions = [.FirstOption, .SecondOption]
    if multipleOptions.contains(.SecondOption) {
       
    print("multipleOptions has SecondOption")
    }
    let allOptions = MyOptions(rawValue: 7)
    if allOptions.contains(.ThirdOption) {
       
    print("allOptions has ThirdOption")
    }

    2)OC调用Swift,只需增加前缀@objc
    @objc enum Bear: Int {
        case Black, Grizzly, Polar
    }
    

    Shamelessly taken from the Swift Blog


    In Objective-C this would look like

    Bear type = BearBlack;
    switch (type) {
       
    case BearBlack:
       
    case BearGrizzly:
       
    case BearPolar:
           
    [self runLikeHell];
    }

    3)Swift调用OC直接使用rawValue
    展开全文
  • OCSwift指南

    2020-03-10 00:01:09
    作者丨zhangferry来源丨iOS成长之路运行环境:Xcode 11.1 Swift5.0最近参与的一个项目需要从Objective-C(以下简称OC)转到Swift,期间遇到了一些...
  • 一、OC调用swift文件  在OC项目中创建一个swift文件的时候,Xcode 会提示 需要创建一个桥接文件,点确定创建桥接文件,Xcode会自动创建一个桥接文件 名字:工程名-Bridging-Header.h 这个桥接文件是 swift...
  • 本文旨在帮助开发者快速从OC开发过渡到Swift开发,挑选了一些比较浅显的但是比较常用的Swift语法特性,在介绍的过程中,通常会拿OC中的语言特性作比较,让大家更好的注意到Swift的不同。 另外需要说明的是,笔者也...
  • 如何新建:一般情况,在Swift工程中新建一个OC类,或者在OC工程新建一个Swift类,系统就会提示你是否创建,选择是就行了,然后再删除你刚刚创建的无用文件。如下图(在OC工程中创建的): 如果你选择了取消,可能下一...
  • 这篇文章主要给大家介绍了关于Objective-C和Swift转换速查手册的相关资料,文中通过示例代码介绍的非常详细,非常推荐给大家参考学习使用,盛情邀请读者进入小编交流群:624212887,一起交流学习 前言 如果你正要...
  • iOS oc 调用 swift

    2019-07-03 07:14:24
    如股票oc要调用swift里面的代码 需要包含固定这个头文件 项目名称 LiqunSwiftDemo-Swift.h ...LiqunSwiftDemo-Swift 点进去 可以看到 所有的swift代码 都产生了 对应的一个 oc的类 也就是 编译过程...
  • swiftOC进行混合编码。
  • OCSwift混合使用

    2017-07-11 09:13:02
    随着swift趋向于稳定,越来越多的公司启动的新项目也想使用swift过把瘾,使用swift的好处与弊端不再赘述。目前版本是swift3.0,而且Xcode9beta版中已经更新到swift4.0。使用swift开发是大趋势,这里从以下几个方面看...
  • 最新一些学妹问起,所以抽点时间来写的,适合入门级别的swiftOC 混编 的程序猿。 本文章将从两个方向分别介绍 OCswift 混编 1. 第一个方向从 swift工程 中引入 oc类   1. 1 如何在swift的类中使用oc类 ...
  • OCSwift中的字符串

    2019-02-20 00:37:46
    一、OC中的字符串 引用类型在Object-C中,使用NSString和NSMutableString这两个类对字符串进行操作,一个字符串对象会被指针所引用。一般情况下,使用一个旧的字符串对象对一个新声明的字符串对象进行赋值,其实就是...
  • OC中纯代码进行Autolayout布局  /*  利用 NSLayoutConstraint 类创建具体的约束对象;  添加约束对象到相应的 view 上,代码有这两种:  1)- (void)addConstraint:(NSLayoutConstraint *)constraint; ...
  • 浅谈SwiftOC的区别

    2018-06-07 14:30:50
    本文转自:https://www.cnblogs.com/yajunLi/p/6862164.html一、Swift和Objective-C的联系Swift和Objective-C共用一套运行...其次就是,OC之前积累的很多类库,在Swift中大部分依然可以直接使用,当然,Swift3之后,...
1 2 3 4 5 ... 20
收藏数 4,291
精华内容 1,716