相关疑难解决方法(0)

如何将Swift代码导入Objective-C?

我在Swift中编写了一个库,但我无法将其导入到用Objective-C编写的当前项目中.

有没有办法导入它?

#import "SCLAlertView.swift" - 'SCLAlertView.swift' file not found
Run Code Online (Sandbox Code Playgroud)

import objective-c swift

271
推荐指数
11
解决办法
17万
查看次数

为什么不在Xcode 6中自动创建ProjectName-Prefix.pch?

为什么不ProjectName-Prefix.pch自动创建Xcode 6

是否不再需要预编译头?

我应该在哪里写下之前的代码ProjectName-Prefix.pch

xcode ios xcode6

261
推荐指数
8
解决办法
11万
查看次数

可以在Obj-C中使用Swift的Enum吗?

我正在尝试将我的一些Obj-C类转换为Swift.还有一些其他的Obj-C类仍在转换类中使用枚举.我在Pre-Release Docs中搜索过但找不到它,或者我错过了它.有没有办法在Obj-C类中使用Swift枚举?或者链接到这个问题的文档?

这就是我在旧的Obj-C代码和新的Swift代码中声明我的枚举的方法.

我的旧Obj-C代码:

typedef NS_ENUM(NSInteger, SomeEnum)
{
    SomeEnumA,
    SomeEnumB,
    SomeEnumC
};

@interface SomeClass : NSObject

...

@end
Run Code Online (Sandbox Code Playgroud)

我的新Swift代码:

enum SomeEnum: NSInteger
{
    case A
    case B
    case C
};

class SomeClass: NSObject
{
    ...
}
Run Code Online (Sandbox Code Playgroud)

更新:从答案.它不能在Swift旧版本1.2以上完成.但根据这个官方的Swift博客.在雨燕1.2与6.3的XCode一起发布的,您可以通过添加使用SWIFT的枚举Objective-C的@objc前面enum

enums objective-c swift

134
推荐指数
4
解决办法
6万
查看次数

将Project-Swift.h导入到Objective-C类...找不到文件

我有一个在Objective-C中启动的项目,我试图将一些Swift代码导入到我之前编写的Objective-C相同的类文件中.

我在同一个项目中咨询过Apple Sws和Objective-C的文档,以及这样的SO 问题,但仍然无济于事:我在放入后继续得到文件未找到错误#import "NewTestApp-Swift.h"(NewTestApp是产品的名称)和模块).

这是我到目前为止所做的:

  1. Define Modules,YES为应用程序选择.
  2. 确保产品模块名称中没有任何空格(请参阅下面的问题截图)

我已经尝试使用#import "NewTestApp-Swift.h"ViewController.m,ViewController.hAppDelegate.m但他们没有工作过.

我还做错了什么?谢谢你的帮助.


设置截图:

在此输入图像描述


我目前遇到的错误:

在此输入图像描述

xcode objective-c ios swift xcode6

115
推荐指数
7
解决办法
8万
查看次数

Swift"Bridging-Header.h"文件不允许我在.swift文件中实例化objective-c类

当X代码尝试自动创建桥接头时,它每次都会崩溃,因此我按照有关如何手动创建桥接头的说明进行操作.(创建.h文件,将其命名为<#PROJECT_NAME> -Bridging-Header.h,导入所需的所有.h文件?)

问题是,当我尝试在包含在该头文件中的.swift文件中实例化一个类时,没有任何反应(它表示该类不存在)此外,在桥接头中,它似乎没有自动完成我的文件名时试着把它们包括在内,让我相信一些没有正确联系的事情.

有没有人碰到这个?有谁知道如何修理它?

xcode objective-c ios swift xcode6

21
推荐指数
2
解决办法
4万
查看次数

Swift到Objective-C头文件不包含Swift类

我试图在Objective-C代码中使用Swift类,但是我的Swift类似乎没有出现在生成的头文件中.结果,我的构建失败了"使用未声明的标识符'HelloWorld'".

我使用模板创建了一个名为TestApp的项目.

我的目标中有以下构建设置:

  • 产品名称:TestApp
  • 产品模块名称:TestAppModule
  • 定义模块:是的

Apple的文档说要使用,#import <TestApp/TestAppModule-Swift.h>但这不起作用.

相反,我#import "TestAppModule-Swift.h"在我的".m"文件中使用.它似乎找到了这个.

我能够导航到它,它看起来像这样......

// Generated by Swift version 1.0 (swift-600.0.34.4.5)

#if defined(__has_include) && __has_include(<swift/objc-prologue.h>)
# include <swift/objc-prologue.h>
#endif

...etc...
Run Code Online (Sandbox Code Playgroud)

但没有在那里定义的类.

我在项目中有一个Swift文件,看起来像这样......

class HelloWorld {    
    func hello() {
        println("hello world")
    }
}
Run Code Online (Sandbox Code Playgroud)

为什么这不使用标准头文件位置#import <TestApp/TestAppModule-Swift.h>

如何在头文件中获取我的swift类,这样我就不会得到"未声明的标识符"错误?

objective-c swift

17
推荐指数
4
解决办法
1万
查看次数

如何修改SWIFT_MODULE_NAME?

标题说明了一切.我在SWIFT_MODULE_NAME的构建设置中搜索过,但没有任何内容.我也在线搜索,并且有对此名称的引用,但没有关于如何定义的信息.此外,我在Apple Docs中找不到任何提及SWIFT_MODULE_NAME的信息.

我知道这一点:它用于"Objective-C Generated Interface Header Name"构建设置,可以通过双击设置值来查看:

$(SWIFT_MODULE_NAME)-Swift.h

它用于弥合Objective-C和Swift之间的差距,并且只出现在包含Swift文件的项目中(以及我假设的Objective-C文件).截至发布时,Xcode 7.3是最新最好的.

但是,这个值定义在哪里,我该如何修改它?

xcode objective-c ios swift objective-c-swift-bridge

16
推荐指数
3
解决办法
9482
查看次数

Xcode 6 GM - 复制生成的"MyAppName-Swift"头文件时出错?

下面是我在构建应用程序时遇到的错误.有没有人有这个错误的经验?

ditto:无法获得源的真实路径'/Users/MyUsername/Library/Developer/Xcode/DerivedData/MyAppName-fwxrneawhopjkqcpeoykduytrgwv/Build/Intermediates/MyAppName.build/Debug-iphoneos/MyAppName.build/Objects-normal/arm64/ MyAppName-Swift.h"

命令/ usr/bin/ditto失败,退出代码为1

任何帮助都会很棒!

如果需要更多信息,请询问.:)

xcode xcode6 xcode6gm

12
推荐指数
2
解决办法
4834
查看次数

在Xcode 6/iOS 8中如何全局导入文件的方式有变化吗?

我曾经在AppName -prefix.pch文件中进行全局导入(即对我的Xcode项目中的所有源文件可见的导入).

但是,现在在Xcode 6(和iOS 8)环境中,创建新项目后,该文件不再自动生成.

我的问题是如何在Xcode 6中正确进行全局导入?我可以创建自己的AppName -prefix.pch并最终使用这个吗?

注意:使用Cocoapods时,会生成一个名为Pods- AppName -Bolts-prefix.pch的文件.但全球进口商品不会与此商品合作.

xcode objective-c ios xcode6 ios8

8
推荐指数
2
解决办法
6986
查看次数