我在去年使用Objective-C.现在我正在尝试使用swift的Xcode 6 beta 4.
我想将.csv格式导入我的网络服务器到一个数组.我在Objective-C中的旧代码是:
NSString *stringURL = @"https:// [URL] /versionen/versionen.csv";
NSURL *url = [NSURL URLWithString:stringURL];
NSData *urlData = [NSData dataWithContentsOfURL:url];
if ( urlData )
{
NSString *csvResponseString = [[NSString alloc] initWithData:urlData encoding:NSUTF8StringEncoding];
NSArray *MZVersionDatenZeilen = [csvResponseString componentsSeparatedByString:@"\n"];
NSEnumerator *MZVersionEnumerator = [MZVersionDatenZeilen objectEnumerator];
NSMutableArray *MZVersionDatenArray = [NSMutableArray arrayWithCapacity:[MZVersionDatenZeilen count]];
NSString *MZVersionZeile;
while (MZVersionZeile = [MZVersionEnumerator nextObject])
{
[MZVersionDatenArray addObject:[MZVersionZeile componentsSeparatedByString:@";"]];
}
}
Run Code Online (Sandbox Code Playgroud)
我怎么能在Swift中这样做?有最佳做法 - 推荐吗?
我已经搜索了这个问题的解决方案,但在我的情况下找不到任何似乎可以解决它的问题.我从UITapGestureRecognizer获得了上述异常.
这是简化的代码:
import UIKit;
class ViewController : UIViewController, UIScrollViewDelegate
{
@IBOutlet weak var scrollView:UIScrollView!;
var imageView:UIImageView!;
override func viewDidLoad()
{
super.viewDidLoad();
... set up imageView/scrollView here ...
let doubleTapRecognizer = UITapGestureRecognizer(target: self, action: "onScrollViewDoubleTapped");
doubleTapRecognizer.numberOfTapsRequired = 2;
doubleTapRecognizer.numberOfTouchesRequired = 1;
scrollView.addGestureRecognizer(doubleTapRecognizer);
}
func onScrollViewDoubleTapped(recognizer:UITapGestureRecognizer)
{
}
}
Run Code Online (Sandbox Code Playgroud)
任何人都可以告诉这段代码有什么问题吗?对我来说似乎都是正确的.我怀疑它与将ViewController指定为scrollView的委托(或反之亦然)有关?但是,ViewController被设置为scrollView的委托.但也许是其他导致这个错误的东西?
看一下Apple文档中的这个声明:
let optionalInt: Int? = 9
Run Code Online (Sandbox Code Playgroud)
你为什么要用Int?这个常量的类型?你知道它不能nil为你分配值9吗?可选类型的目的(据我所知)是能够保持nil.不需要在此声明中optionalInt保留nil.有人能解释一下吗
我想在我的项目中添加一个dll.当我"添加引用"并尝试添加它时,它告诉我:
"无法添加对...的引用.请确保该文件可访问,并且它是有效的程序集或COM组件".
顺便说一下,我正在尝试添加g729.dll
我该如何添加dll?
如果未选中复选框,如果选中同一组(具有相同类?)的其他复选框,则不应删除该类.请注意有几组复选框.
http://jsfiddle.net/mirluin/3MpYw/1/
<form method="get" action="#" class="taxonomy-drilldown-checkboxes">
<div class="btn-group taxonomy-search-btn" id="terms-clipping_bu">
<a class="btn dropdown-toggle" data-toggle="dropdown" href="#">
Business Units
<span class="caret"></span>
</a>
<ul class="dropdown-menu">
<li class="term-item ">
<label>
<input type="checkbox" name="qmt[clipping_bu][]" value="4" checked="checked" />Bu1</label>
</li>
<li class="term-item ">
<label>
<input type="checkbox" name="qmt[clipping_bu][]" value="27" checked="checked" />Bu2</label>
</li>
<li class="term-item ">
<label>
<input type="checkbox" name="qmt[clipping_bu][]" value="31" />Bu3</label>
</li>
</ul>
</div>
<div class="btn-group taxonomy-search-btn" id="terms-clipping_market">
<a class="btn dropdown-toggle" data-toggle="dropdown" href="#">
Markets
<span class="caret"></span>
</a>
<ul class="dropdown-menu">
<li class="term-item ">
<label>
<input type="checkbox" …Run Code Online (Sandbox Code Playgroud) 使用WinRAR命令行(C:\Program Files\WinRAR\rar.exe),我要做的就是压缩单个文件夹,(C:\Users\%username%\desktop\someFolder)并可能更改创建的.zip文件的名称.我尝试过"rar.exe a" C:\Users\%username%\desktop\someFile"并且它有效,但它会压缩另一个文件夹(不是我放的那个).
我究竟做错了什么?
你能提供解释吗(也许告诉我递归是什么因为我不熟悉它)?
谢谢
我正在编写一个iOS/Swift应用程序,它每隔X分钟从REST服务中读取数据并相应地更新UI.
现在我希望当应用程序放在后台时,从REST服务读取一个任务,每隔X分钟读取一次,如果刚读取的数据满足给定条件,则会显示一条通知,提示用户带来应用程序回到前台.
在我的搜索中,我读过在applicationDidEnterBackground活动期间,我应该开始执行任务beginBackgroundTaskWithExpirationHandler.
问题是,如果我已经正确理解,这允许最多10/15分钟,如果任务没有停止,应用程序终止endBackgroundUpdateTask,而我希望任务继续无限期地轮询服务(至少直到用户从应用程序的设置中禁用它)
这种功能如何正常执行?是否存在一些解决此类问题的常见解决方案或最佳实践?
我试图获取一个按钮的文本,在点击时将字体颜色更改为红色.我查看了几个月前的类似帖子,使用该代码会导致Xcode 6.1.1中出现构建错误.这是我正在尝试的代码:
class ViewController: UIViewController {
@IBAction func firstButton(sender: UIButton) {
firstButton.titleLabel.textColor = UIColor.redColor()
}
}
Run Code Online (Sandbox Code Playgroud)
我得到的错误代码是:
'(UIButton) - >()'没有名为'titleLabel'的成员
任何帮助将非常感激,因为我在尝试学习Objective C后失去耐心,因此我认为Swift是我的拯救恩典.
作为练习,我重写了一些Swift的高阶函数,一个是.filter.我决定.filter使用乐器测量我对抗Swift的版本,我对结果感到困惑.
这是我的过滤器版本,我承认可能不正确.
extension Array {
func myFilter(predicate: Element -> Bool) -> [Element] {
var filteredArray = [Element]()
for x in self where predicate(x) {
filteredArray.append(x)
}
return filteredArray
}
}
Run Code Online (Sandbox Code Playgroud)
我的过滤器
斯威夫特的过滤器
我期待类似的表现.我很困惑为什么我的过滤器函数调用本身会消耗更少的CPU,但我的整体应用程序CPU高出近30%.
如果我filter写错了,请帮助我理解我的错误.否则请指出为什么Swift的filterCPU负载比我的减少了30%.
有人可以解释我如何配置Azure cosmosDB不那么昂贵吗?3天30€?这是一个用户很少的小型测试环境.
在后端,我只看到它将花费一些美分......
我有大约18个系列,但都只有kbits大.它是js cms的后端数据库:http://keystonejs.com/