我正在使用xCode6 Beta 3,并且遇到一个问题,其中先前编译良好的代码(xCode 5.1.1或xCode6 beta 2)在访问自动合成的实例变量时突然开始给我"使用未声明的标识符"错误:
- (void)setFinished:(BOOL)finished {
[self willChangeValueForKey:@"isFinished"];
_finished = finished;
[self didChangeValueForKey:@"isFinished"];
}
//ERROR:
Use of undeclared identifier '_finished'; did you mean 'finished'?
Run Code Online (Sandbox Code Playgroud)
添加@synthesize finished = _finished;使错误消失,但有没有办法强制xCode6 Beta 3使用下划线表示法使用自动属性合成?
我想继承UITableViewController,并能够通过调用没有参数的默认初始化程序来实例化它.
class TestViewController: UITableViewController {
convenience init() {
self.init(style: UITableViewStyle.Plain)
}
}
Run Code Online (Sandbox Code Playgroud)
从Xcode 6 Beta 5开始,上面的示例不再有效.
Overriding declaration requires an 'override' keyword
Invalid redeclaration of 'init()'
Run Code Online (Sandbox Code Playgroud) 我知道我可以找到我正在运行的Swift版本,现在恢复到终端并键入:
xcrun swift --version
Swift version 1.1 (swift-600.0.57.4)
Target: x86_64-apple-darwin13.4.0
Run Code Online (Sandbox Code Playgroud)
另外,我一直在阅读关于Swift中的预处理器宏,但没有运气找到Swift版本常量.
随着Swift 1.2的临近,标记仅在Swift 1.1(Xcode高达6.2)上运行的旧代码或需要Xcode 6.3的新代码(Swift 1.2)将会很不错
注意:我也可以使用system()来执行以下操作:
system("xcrun swift --version | grep version > somefile.txt")
Run Code Online (Sandbox Code Playgroud)
然后打开somefile.txt,但更喜欢一些更简单的解决方案
我已经阅读了有关segues的其他帖子但没有解决我的问题.
简单地说,我ViewController的订单就像一本书.我希望向后过渡(例如:从第9页到第8页)始终从左到右呈现(滑过).我希望从右到左呈现前向过渡(从第9页到第10页).
是的,如果您逐页翻页,我的导航控制器后退按钮(左上角)会显示如下内容.但是,如果从索引中跳转,则导航控制器上的后退功能会将您带回索引.
我的目标是,如果用户从索引跳到第9页(例如),然后向右滑动,它将向右滑动页面并显示第8页.一旦在第8页,如果他们向左轻弹页面将向左轻弹,他们将再次出现在第9页.
ViewController默认情况下,我所有人都是从右到左滑动.
示例:将其想象成一本书,如果我使用索引跳到第4章,然后向右滑动并从堆栈中弹出一个视图,我将回到索引.但是,如果您使用第394章第4章并向右滑动,则不希望返回索引!您想要转到第393页第3章的最后一页!因此导航堆栈对我没有帮助.
结束例子
详细信息:1.我在按钮上使用新的Xcode"Show"在ViewControllers之间切换.
我正在使用导航控制器,左上角的"后退"按钮功能.这使用导航堆栈并且工作正常.
但是我在底部有自己的自定义导航栏(后退按钮,主页按钮,索引按钮,前进按钮)和手势.这些是我想要的书籍功能.
快速编码.
使用Xcode 6.3
我读过有动画代码.我已经阅读了可以使用的深度程序转换.只是选择我想要从左边呈现的segue并轻松地反转动画,这似乎很疯狂.
谢谢!
尝试记录:
I tried DCDC's code:
UIView.transitionWithView(self.window!, duration: 0.5, options:.TransitionFlipFromLeft, animations: { () -> Void in
self.window!.rootViewController = mainVC
}, completion:nil)
Run Code Online (Sandbox Code Playgroud)
当我将DCDC的代码插入到IBAction我的后滑动中时,会返回此错误

我在项目的单独Swift文件中创建了最简单的自定义类:
class Foo
{
init()
{
println("I made a foo.")
}
}
Run Code Online (Sandbox Code Playgroud)
然后,在同一个项目的一个操场上,我试过了
var x = Foo()
Run Code Online (Sandbox Code Playgroud)
Xcode似乎不喜欢这样,并告诉我'Foo'是一个未解析的标识符.我对操场如何适应项目结构的其余部分感到困惑,因为我的项目中的任何其他Swift文件都可以解决'Foo'而没有问题.
如何让我的游乐场能够使用我在项目中的其他Swift文件中定义的自定义类?我已经尝试为构建目标命名产品模块并将其导入到操场中,但没有成功:操场无法识别产品模块的名称.
在此先感谢您的帮助.我知道这很简单.
我已经将用于打电话的代码从Objective-C转换为Swift,但在Objective-C中,我们可以设置我们想要打开的URL类型(例如电话,短信,网络),如下所示:
@"tel:xx"
@"mailto:info@example.es"
@"http://stackoverflow.com"
@"sms:768number"
Run Code Online (Sandbox Code Playgroud)
Swift中的代码是:
UIApplication.sharedApplication().openURL(NSURL(string : "9809088798")
Run Code Online (Sandbox Code Playgroud)
我读过没有发布任何方案参数tel:,但我不知道Swift是否可以检测该字符串是用于打电话,发送电子邮件还是打开网站.或者我可以写:
(string : "tel//:9809088798")
Run Code Online (Sandbox Code Playgroud)
?
我似乎遇到了将Xcode6与jenkins集成的问题,我目前有这个设置并使用Xcode 5.
随着xcode 6通过SSH远程运行模拟器超时,当我在本地运行时它成功.
命令
xcodebuild -workspace PROJECTNAME.xcworkspace -scheme BGO_Tests -destination'platform = iOS模拟器,名称= iPhone 5s'dedevedDataPath ./Build clean test
2014-08-19 10:46:36.591 xcodebuild [33966:381f] iPhoneSimulator:超时等待120秒>模拟器启动,当前状态为1.
测试失败:测试目标BGO_Tests遇到错误(超时等待120秒,模拟器启动,当前状态为1
测试了最近的Xcode 6 beta 6
如何在通知中心更改应用程序今日扩展程序的高度?
我尝试使用Interface Builder和Code,Interface Builder显示高度为600的视图,但它没有在设备上应用此高度.
看起来我不能让它大于80像素......

我目前正在使用Xcode 6预发行版(非测试版)和OS X 10.10 Yosemite beta 7上的模拟器.我正在尝试构建一个在xcode 6中开发的项目,但每当我打开某个视图控制器时应用程序崩溃.这个视图控制器字面上没有代码(它是一个空的,静态的,表视图控制器,有几个默认的单元格和标签).
给出的错误是:
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason:
'scaledValueForValue: called on a font that doesn't have a text style set'
Run Code Online (Sandbox Code Playgroud)
就在我得到这个断言失败之前:
*** Assertion failure in -[UICTFont _scaledValueForValue:],
/SourceCache/UIFoundation_Sim/UIFoundation-371/UIFoundation/iOS/UIFont.m:496
Run Code Online (Sandbox Code Playgroud)
我真的不知道发生了什么,我尝试在VC中设置断点,但是在调用viewDidLoad方法之后发生了错误(因此在执行了所有代码之后).
有任何想法吗?我项目中所有内容的字体都是'Baskerville',我尝试过改变它,但它不会影响崩溃.
哦,如果我使用Xcode 5,它可以正常工作.
更新9/24:所以我仍然无法弄清楚这一点.我尝试使用fontWithDescriptor方法,但它仍然崩溃.有趣的是,我有很多页面使用自定义字体,大多数工作正常,但有两个VC,当我去他们时立即崩溃...其中一个甚至没有任何自定义字体.我非常感谢您的所有反馈,但有没有人有任何其他想法/修复?我正在使用Xcode的正式版本,它仍然无法正常工作.
我想在iOS 7.0和iOS 8.0上测试我的应用程序.我将iPhone5升级到iOS 8.1.现在,在这些操作系统中测试我的应用程序的唯一方法是使用模拟器.但在将我的Xcode升级到6.1之后.我无法看到iOS 7.0和8.0模拟器.我需要在Xcode 6.1中安装这些模拟器.有没有办法在Xcode 6.1中安装这些模拟器?
注意:
1)我将这些模拟器SDK从旧的Xcode复制粘贴到Xcode 6.1的内容,但它没有用.
2)我尝试从Xcode> Preferences> Downloads安装这些,但这些不会显示在列表中.
3)我从Xcode的Window> Devices中删除了所有设备,然后重新启动了Xcode并重新添加它们,但这些模拟器没有显示出来.
xcode6 ×10
ios ×7
swift ×5
ios8 ×2
xcode ×2
jenkins ×1
macos ×1
nsurl ×1
objective-c ×1
openurl ×1
segue ×1
ssh ×1
uitableview ×1
xcodebuild ×1