我想在Swift中对字典进行排序.我有一个字典,如:
"A" => Array[]
"Z" => Array[]
"D" => Array[]
Run Code Online (Sandbox Code Playgroud)
我希望它像
"A" => Array[]
"D" => Array[]
"Z" => Array[]
Run Code Online (Sandbox Code Playgroud)
等等
我在SO上尝试了很多解决方案,但没有人为我工作.我正在使用XCode6 Beta 5,并且其中一些正在给出编译器错误,而一些解决方案正在提供异常.所以任何人都可以发布字典排序的工作副本.
使用每种技术的优缺点是什么?
WCF Web Api现已合并到Asp.net Asp.net web api现在支持自托管.
我仍然想象如果我想为相同的操作公开多个协议模式,我仍然倾向于WCF,或者Mvc端点也可以这样做吗?
新的Asp.Net web api也暴露了Wsdl吗?如果不是,客户如何找出他们可以使用的操作?
可以说,Mvc的最佳特性是模型绑定器.WCF的等效性有多强?
那么有人能告诉我Asp.net web api带来哪些优势?WCF似乎绝对是更强大/可扩展的选择,imo.关于Mvc Web Api对WCF模型的唯一要求可能是易于开发,但这意味着如果它最终成为严重的设计限制则蹲下.
我正在使用Xcode 6.1将现有的Objective-C电视节目应用程序复制到新的Swift版本,并且我在使用CoreData时遇到了一些问题.
我创建了一个包含4个实体的模型,创建了它们的NSManagedObject子类(在Swift中),并且所有文件都设置了适当的应用程序目标(用于"编译源代码").
每当我尝试插入一个新实体时,我仍然会收到此错误:
CoreData:警告:无法为实体"显示"加载名为"显示"的类.找不到类,而是使用默认的NSManagedObject.
一些评论:
保存到Core Data时,我使用父子上下文方式来允许背景线程.我这样做是通过使用以下方法设置ManagedObjectContext:
lazy var managedObjectContext: NSManagedObjectContext? = {
// Returns the managed object context for the application (which is already bound to the persistent store coordinator for the application.) This property is optional since there are legitimate error conditions that could cause the creation of the context to fail.
let coordinator = self.persistentStoreCoordinator
if coordinator == nil {
return nil
}
var managedObjectContext = NSManagedObjectContext(concurrencyType: NSManagedObjectContextConcurrencyType.MainQueueConcurrencyType)
managedObjectContext.persistentStoreCoordinator = coordinator
return managedObjectContext
}()
Run Code Online (Sandbox Code Playgroud)
并使用以下方法保存数据:
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, …
Run Code Online (Sandbox Code Playgroud) 我有个问题.我有一个旧的Objective C项目,我想调用新的Swift函数和对象,我创建了文件"-Bridging-Header.h"和"-Swift.h"
我很容易将函数从Swift调用到Objective C,但我有一个反向问题.
所以我创建了一个简单的类"System.Swift"
import Foundation
@objc class System : NSObject {
@objc func printSome() {
println("Print line System");
}
}
Run Code Online (Sandbox Code Playgroud)
现在我已经尝试按照这里的文档和<...> - Swift.h文件内部写了这个
@class System;
@interface System : NSObject
-(void)printSome;
@end
Run Code Online (Sandbox Code Playgroud)
我已经在Objective C Class中导入了它.此时,在我的Objective C Code的Objective C类(当前为UIViewController)中,我尝试调用"printSome"方法:
- (void)viewDidLoad
{
[super viewDidLoad];
System * sis = [[System alloc] init];
[sis printSome];
//any additional setup after loading the view from its nib.
}
Run Code Online (Sandbox Code Playgroud)
现在我有以下错误:
架构i386的未定义符号:"_ OBJC_CLASS _ $ _ System",引用自:"ObjectiveC_Class_That_Call_Swift_Object"中的objc-class-ref .o ld:未找到架构i386 clang的符号:错误:链接器命令失败,退出代码为1(使用-v看到调用)
有人能帮帮我吗?
关心所有.
当我尝试使用Asp.Net MVC 2中的创建样式操作创建实体时,会发生这种情况.
POCO具有以下特性:
public int Id {get;set;}
[Required]
public string Message {get; set}
Run Code Online (Sandbox Code Playgroud)
在创建实体时,会自动设置Id,因此在Create操作中不需要它.
ModelState表示"需要Id字段",但我没有将其设置为如此.这里有自动发生的事吗?
编辑 - 原因显示
Brad Wilson通过Paul Speranza在下面的一条评论中回答了这个问题的原因,他说(欢呼保罗):
你提供了身份证的价值,你只是不知道你是谁.它位于默认路由的路由数据中("{controller}/{action}/{id}"),其默认值为空字符串,对int无效.使用action参数的[Bind]属性排除ID.我的默认路由是:new {controller ="Customer",action ="Edit",id =""} //参数默认值
编辑 - 更新模型技术
我实际上通过使用TryUpdateModel和与之相关的exclude参数数组改变了我再次这样做的方式.
[HttpPost]
public ActionResult Add(Venue collection)
{
Venue venue = new Venue();
if (TryUpdateModel(venue, null, null, new[] { "Id" }))
{
_service.Add(venue);
return RedirectToAction("Index", "Manage");
}
return View(collection);
}
Run Code Online (Sandbox Code Playgroud) 我试图从数组中删除元素,$scope.items
以便在视图中删除项目ng-repeat="item in items"
仅出于演示目的,这里有一些代码:
for(i=0;i<$scope.items.length;i++){
if($scope.items[i].name == 'ted'){
$scope.items.shift();
}
}
Run Code Online (Sandbox Code Playgroud)
如果有名称ted,我想从视图中删除第一个元素?它工作正常,但视图重新加载所有元素.因为所有数组键都已移位.这在我创建的移动应用程序中造成了不必要的延迟.
任何人都有这个问题的解决方案?
我正在使用tableview控制器和detailView进行简单的iOS应用程序.我想要的只是通过segue传递数据.
这就是它的样子.
我只想点击"Markíza"它将打开URL视频编号1,如果你点击"TV JOJ",它将在播放器中打开URL视频编号2.
我的tableview单元格:
struct Program {
let category : String
let name : String
}
var programy = [Program]()
self.programy = [Program(category: "Slovenské", name: "Markíza"),
Program(category: "Slovenské", name: "TV JOJ")]
Run Code Online (Sandbox Code Playgroud) 我想在下载之前获取http:/.../文件的大小.该文件可以是网页,图像或媒体文件.可以使用HTTP标头完成吗?如何仅下载文件HTTP标头?
我的UIPickerView有问题.我在EU AP和NA中有3个值.当我启动应用程序欧盟似乎被选中但是当我做一个NSLog(@"%@", [regions objectAtIndex:row]);
我只回来时(null)
,现在当我触摸UIPickerView时,选择了EU值并且我"EU"
从NSLog返回.
我的问题是:
当用户仅启动应用程序并且什么都不触摸时,如何定义所选的默认值(不仅是标签).
编辑:这是我获取所选项目的代码:
#pragma mark -
#pragma mark PickerView DataSource
- (NSInteger)numberOfComponentsInPickerView:
(UIPickerView *)pickerView
{
return 1;
}
- (NSInteger)pickerView:(UIPickerView *)pickerView
numberOfRowsInComponent:(NSInteger)component
{
return [regions count];
}
- (NSString *)pickerView:(UIPickerView *)pickerView
titleForRow:(NSInteger)row
forComponent:(NSInteger)component
{
return [regions objectAtIndex:row];
}
#pragma mark -
#pragma mark PickerView Delegate
-(void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row
inComponent:(NSInteger)component
{
selectedRegion = [[NSString alloc] initWithFormat:
@"%@", [regions objectAtIndex:row]];
NSLog(@"%@", selectedRegion);
}
Run Code Online (Sandbox Code Playgroud) 我在启动时修改UIView高度时遇到问题.
我必须UIView,我想要一个屏幕尺寸*70和另一个填补空白.
这就是我所拥有的
@IBOutlet weak var questionFrame: UIView!
@IBOutlet weak var answerFrame: UIView!
let screenSize:CGRect = UIScreen.mainScreen().bounds
Run Code Online (Sandbox Code Playgroud)
和
questionFrame.frame.size.height = screenSize.height * 0.70
answerFrame.frame.size.height = screenSize.height * 0.30
Run Code Online (Sandbox Code Playgroud)
它在运行时对应用程序没有影响.我使用自动布局,但我只有边距约束...
我做错了吗?
swift ×6
ios ×2
objective-c ×2
angularjs ×1
asp.net-mvc ×1
c# ×1
core-data ×1
detailview ×1
dictionary ×1
download ×1
height ×1
http ×1
http-headers ×1
iphone ×1
scope ×1
sorting ×1
uipickerview ×1
uitableview ×1
uiview ×1
wcf ×1
xcode ×1
xcode6 ×1