我有一个适用于Xcode6-Beta1和Xcode6-Beta2的iOS7和iOS8应用程序.但是对于Xcode6-Beta3,Beta4,Beta5,我正面临着iOS8的网络问题,但在iOS7上一切正常.我收到了错误"The network connection was lost.".错误如下:
错误:错误域= NSURLErrorDomain代码= -1005"网络连接丢失." UserInfo = 0x7ba8e5b0 {NSErrorFailingURLStringKey =,_ kCFStreamErrorCodeKey = 57,NSErrorFailingURLKey =,NSLocalizedDescription =网络连接丢失.,_ kCFStreamErrorDomainKey = 1,NSUnderlyingError = 0x7a6957e0"网络连接丢失."}
我使用AFNetworking 2.x和以下代码片段进行网络调用:
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
[manager setSecurityPolicy:policy];
manager.requestSerializer = [AFHTTPRequestSerializer serializer];
manager.responseSerializer = [AFHTTPResponseSerializer serializer];
[manager POST:<example-url>
parameters:<parameteres>
success:^(AFHTTPRequestOperation *operation, id responseObject) {
NSLog(@“Success: %@", responseObject);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"Error: %@", error);
}];
Run Code Online (Sandbox Code Playgroud)
我试过NSURLSession但仍然收到同样的错误.
突然,我开始得到运行时错误,因为,
fatal error: NSArray element failed to match the Swift Array Element type
Run Code Online (Sandbox Code Playgroud)
我宣布我的阵列为,
var myArray : [CUSTOM_CLASS] = [CUSTOM_CLASS]()
Run Code Online (Sandbox Code Playgroud)
现在,在我的服务器响应成功块中,
self.myArray = dicResponse["data"]! as Array
println(self.myArray) // FATAL ERROR HERE
Run Code Online (Sandbox Code Playgroud)
在升级到Xcode6 Beta6之前,这是完美的
FYI : dicResponse["data"]! // is verified as valid
Run Code Online (Sandbox Code Playgroud)
(抱歉指向错误的地方!)
解决了 :
不知道,但我做了一些改变,它的工作原理,
var myArray = [AnyObject]()
self.myArray = dicResponse["data"]! as [AnyObject]
Run Code Online (Sandbox Code Playgroud) 我想在我的应用程序顶部创建一个导航栏.我创建了一个导航控制器 - >标签栏控制器 - >导航控制器 - >表控制器
我也在我的控制器的viewDidLoad()中使用此代码尝试了它:
self.navigationController.navigationBar.topItem.title = "some title"
self.navigationItem.setRightBarButtonItem(UIBarButtonItem(barButtonSystemItem: .Search, target: self, action: "barButtonItemClicked:"), animated: true)
self.navigationItem.title = "YourTitle"
Run Code Online (Sandbox Code Playgroud)它不起作用 - 我做错了什么?:/
我在Swift中使用泛型类和NSCoding(XCode beta 5)时遇到了问题.具体来说,这个示例代码很好地工作:
class Foo : NSObject, NSCoding
{
let bar: String
init(bar: String){
self.bar = bar;
}
func encodeWithCoder(aCoder: NSCoder!){
aCoder.encodeObject(bar, forKey: "bar")
}
required init(coder aDecoder: NSCoder!){
self.bar = aDecoder.decodeObjectForKey("bar") as String
super.init()
}
}
let foo = Foo(bar: "hello, world")
NSKeyedArchiver.archiveRootObject(foo, toFile: "test.dat")
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试相同的代码,并添加一个通用参数; 当我尝试编码对象时; 我收到一个'无法识别的选择器发送到实例'错误:
class Foo<T> : NSObject, NSCoding
{
let bar: String
init(bar: String){
self.bar = bar;
}
func encodeWithCoder(aCoder: NSCoder!){
aCoder.encodeObject(bar, forKey: "bar")
}
required init(coder aDecoder: NSCoder!){
self.bar = aDecoder.decodeObjectForKey("bar") as String …Run Code Online (Sandbox Code Playgroud) 我设法找出iOS 8下自我调整集合视图单元格的方法.
我想将此作为附件视图的一部分.
我遇到了崩溃...... stacktrace的有趣部分如下:
** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[__NSArrayM insertObject:atIndex:]: object cannot be nil'
*** First throw call stack:
(
0 CoreFoundation __exceptionPreprocess + 165
1 libobjc.A.dylib objc_exception_throw + 45
2 CoreFoundation -[__NSArrayM insertObject:atIndex:] + 954
3 UIKit -[UICollectionViewFlowLayout layoutAttributesForElementsInRect:] + 384
4 UIKit __45-[UICollectionViewData validateLayoutInRect:]_block_invoke + 144
5 UIKit -[UICollectionViewData validateLayoutInRect:] + 1396
6 UIKit -[UICollectionView layoutSubviews] + 170
7 UIKit -[UIView(CALayerDelegate) layoutSublayersOfLayer:] + 521
8 QuartzCore -[CALayer layoutSublayers] + …Run Code Online (Sandbox Code Playgroud) 我有一个动作表,我在ios8(xcode 6 beta 5)中使用UIAlertcontroller进行演示.我正在使用UIAlertcontroller,因为UIActionsheet(在iOS 8中已弃用)在ios8中无法正常工作,单击操作表中的任何选项都会导致我回到父视图.现在我也面临着UIAlertcontroller中的一个问题,在操作表弹出窗口外面双击会让我回到上一个父视图.以下是我的代码段:
UIAlertController *actionSheetIos8;
actionSheetIos8 = [UIAlertController alertControllerWithTitle:nil message:nil preferredStyle:UIAlertControllerStyleActionSheet];
NSArray *buttonsArray = [self returnMoreArray];
int startY = 10;
for (int i = 0; i < [buttonsArray count]; i++) {
UIAlertAction *defaultAction = [UIAlertAction actionWithTitle:[buttonsArray objectAtIndex:i] style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) {
NSString *newStr = [buttonsArray objectAtIndex:i];
newStr = [[newStr lowercaseString] stringByReplacingOccurrencesOfString:@" " withString:@"_"];
}];
[actionSheetIos8 addAction:defaultAction];
}
UIAlertAction *cancelAction = [UIAlertAction actionWithTitle:@"Cancel" style:UIAlertActionStyleCancel handler:^(UIAlertAction *action) {
}];
[actionSheetIos8 setModalPresentationStyle:UIModalPresentationPopover];
UIPopoverPresentationController *popPresenter = [actionSheetIos8
popoverPresentationController];
popPresenter.sourceView = sender;
popPresenter.sourceRect …Run Code Online (Sandbox Code Playgroud) 我正在使用Swift与Typhoon和Cocoapods.一切顺利,直到我开始为我的Typhoon组件编写Integrationtest(根据Typhoon-Example-App测试).我想以与我在TyphoonFactory中的setUp() 方式相同的方式设置Test 方法AppDelegate.当我执行测试时,我总是得到一个
TyphoonBlockComponentFactory assertIsAssembly:] + 244:错误:MyApp.MyAssembly不是TyphoonAssembly的子类
Typhoon引发的错误(使用kindOfClass引擎盖下的方法.)相同的代码完美地工作AppDelegate,我无法弄清楚什么是错的.
为了验证这种行为,我实现了isKindOfClass检查booth类(参见下面的代码):
有人可以帮助我吗?多谢!
PodFile
inhibit_all_warnings!
target "MyApp" do
pod 'Typhoon', '2.1.0'
end
target "MyAppTests" do
pod 'Typhoon', '2.1.0'
end
Run Code Online (Sandbox Code Playgroud)
MyAssembly.swift
public class MyAssembly : TyphoonAssembly{
//Some definitions
}
Run Code Online (Sandbox Code Playgroud)
AppDelegate.swift
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: NSDictionary?) -> Bool {
…
var assembly : MyAssembly = MyAssembly()
//Always returns „true“
println("Is type of class: …Run Code Online (Sandbox Code Playgroud) xcode6-beta5 ×7
ios8 ×4
swift ×4
ios ×2
xcode6 ×2
generics ×1
layout ×1
objective-c ×1
typhoon ×1
xcode6-beta6 ×1
xctest ×1