小编Anh*_*ham的帖子

-didSelectRowAtIndexPath:未被调用

我正在选项卡视图中编写一个带有表格视图的iOS应用程序.在我UITableViewController,我实现了-tableView:didSelectRowAtIndexPath:,但是当我在运行时选择一行时,该方法没有被调用.正在填充表视图,所以我知道我的控制器中正在调用其他tableView方法.

有没有人有任何想法,我可能搞砸了,以实现这一目标?

cocoa-touch uitableview didselectrowatindexpath ios

288
推荐指数
28
解决办法
20万
查看次数

从NSString中删除所有数字

我有一个带有一些括号和连字符的NSString(电话号码),因为某些电话号码已格式化.如何从字符串中删除除数字之外的所有字符?

objective-c nsstring

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

如何在Xcode 9上构建Swift 3项目?

Xcode 9发行说明表示支持Swift 3编译:

Swift 4和Swift 3,Swift 4和Swift 3目标的一个编译器可以在同一个项目中一起编译.

我已经安装了Xcode 9 beta.但是,当我按下Build时,它会显示一堆错误.在Xcode 9中使用Swift 3时是否需要做一些特殊的准备工作?

UPD: 使用Swift 3.1编译的模块无法在Swift 4.0中导入

使用Swift 3.1编译的模块无法在Swift 4.0中导入

xcode ios swift3 swift4 xcode9

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

在UITableViewCells上显示"复制"弹出窗口的简单方法,如地址簿App

有没有一种简单的方法让UITableViewCell的子类在选择保持一段时间之后显示"地址簿"应用程序中的"复制"UIMenuController弹出窗口(参见屏幕截图)?

地址簿

iphone pasteboard objective-c uitableview ios

40
推荐指数
5
解决办法
2万
查看次数

无法使用Swift 4 Package Manager导入包

尝试在我的机器上使用Xcode-beta(v9)测试Swift 4,并将包导入测试项目时出现问题:

  • 启动项目使用 swift package init --type executable
  • 更改Package.swift并添加了2个项目以试用:

Package.swift

// swift-tools-version:4.0
// The swift-tools-version declares the minimum version of Swift required to build this package.

import PackageDescription

let package = Package(
    name: "sampleproject",
    dependencies: [
        // Dependencies declare other packages that this package depends on.
        // .package(url: /* package url */, from: "1.0.0"),
        .package(url: "https://github.com/IBM-Swift/Kitura.git", from: "1.7.6"),
        .package(url: "https://github.com/Alamofire/Alamofire.git", from: "4.5.0")
    ],
    targets: [
        // Targets are the basic building blocks of a package. A target can …
Run Code Online (Sandbox Code Playgroud)

macos xcode package-managers swift swift4

27
推荐指数
1
解决办法
7515
查看次数

循环背景音乐?

  1. 为iOS游戏播放背景音乐的最佳方式是什么?我该怎么做?

  2. 将该音乐文件用于播放的最佳格式是什么?

  3. 这首歌是否会在整个游戏中愉快地播放,改变观看时不会中断?

  4. 我怎么能循环这个音乐?

audio loops objective-c ios

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

如何从iOS照片库中获取图像并将其显示在UIWebView中

我已经看过很多UIImage用于输出图像的例子.我想将输出设置为a,UIWebView因为我想在图像周围添加一些额外的HTML格式.

我想让照片库返回存储在iOS设备上的图像的相对路径,这样我就可以将它放在'img'HTML标签的'src'属性中.

这可能吗?


编辑1

我不得不修改我想要的代码,但这似乎不起作用.

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
    //Get Image URL from Library
    NSURL *urlPath = [info valueForKey:UIImagePickerControllerReferenceURL];
    NSString *urlString = [urlPath absoluteString];
    NSLog(urlString);

    NSURL *root = [[NSBundle mainBundle] bundleURL];
    NSString *html;
    html = @"<img src='";
    html = [html stringByAppendingString:urlString];
    html = [html stringByAppendingString:@"' />"];
    [MemeCanvas loadHTMLString:html baseURL:root];

    [picker dismissViewControllerAnimated:YES completion:^{}];
}
Run Code Online (Sandbox Code Playgroud)

我能够记录资产库URL,但似乎没有显示图像UIWebView.我不知道我需要将baseURL更改为.

任何帮助赞赏.


编辑2

我改变UIImagePickerControllerReferenceURLUIImagePickerControllerMediaURL,现在它崩溃了,因为当我将它附加到字符串时它不喜欢它stringByAppendingString:urlString

它给了我错误:

因未捕获的异常'NSInvalidArgumentException'而终止应用程序,原因:'*** - [__ NSCFConstantString stringByAppendingString:]:nil参数'

你知道这可能导致什么吗?

objective-c uiwebview ios

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

致命错误:索引超出范围

我想在我的图书馆中播放25首歌曲.这是我的代码:

var allSongsArray: [MPMediaItem] = []
let songsQuery = MPMediaQuery.songsQuery()

func numberOfSectionsInTableView(tableView: UITableView) -> Int {
    return 1
}

func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return 25 //allSongsArray.count
}

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCellWithIdentifier("cell")
    let items = allSongsArray[indexPath.row]
    cell?.textLabel?.text = items.title
    cell?.detailTextLabel?.text = items.artist
    cell?.imageView?.image = items.artwork?.imageWithSize(imageSize)

    return cell!
}
Run Code Online (Sandbox Code Playgroud)

当我运行它时,它会崩溃,因为:

致命错误:索引超出范围

我试图更改numberOfRowsInSectionallSongsArray.count,但最终会出现相同的错误.

uitableview ios swift

14
推荐指数
1
解决办法
5万
查看次数

AFNetworking和Swift

我正在尝试使用Swift获取JSON响应.

我嗅了嗅请求和回复 - >一切都好.但是返回值始终是nil.

let httpClient = AppDelegate.appDelegate().httpRequestOperationManager as AFHTTPRequestOperationManager;

let path = "/daten/wfs";
let query = "?service=WFS&request=GetFeature&version=1.1.0&typeName=ogdwien:AMPELOGD&srsName=EPSG:4326&outputFormat=json".stringByAddingPercentEscapesUsingEncoding(NSUTF8StringEncoding);

func successBlock(operation: AFHTTPRequestOperation!, responseObject: AnyObject!) {
    println("JSON: " + "\(responseObject)")
}

func errorBlock(operation: AFHTTPRequestOperation!, error:NSError!) {
    println("Error: " + error.localizedDescription)
}

let urlString = "\(path)" + "/" + "\(query)"
println("urlString: " + httpClient.baseURL.absoluteString + urlString)
Run Code Online (Sandbox Code Playgroud)

我也这样试过:

httpClient.GET(urlString, parameters: nil,
    success: { (operation: AFHTTPRequestOperation!, responseObject: AnyObject!) -> Void in
        println("Success")
        println("JSON: " + "\(responseObject)")
    },
    failure:{ (operation: AFHTTPRequestOperation!, error:NSError!) -> Void …
Run Code Online (Sandbox Code Playgroud)

json ios afnetworking swift

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

在参数传递时编译Swift 4中的错误

我在Xcode 9 Beta 3中使用了第三方库.我在完成调用中收到以下错误,我无法解决此错误:

DispatchQueue.main.asyncAfter(deadline: .now() + delay) { 
    self.animationView?.alpha = 0
    self.containerView.alpha  = 1
    completion?()    // -> Error: Missing argument parameter #1 in call.   
}
Run Code Online (Sandbox Code Playgroud)

并在完成功能中获得以下警告:

func openAnimation(_ completion: ((Void) -> Void)?) {    
    // -> Warning: When calling this function in Swift 4 or later, you must pass a '()' tuple; did you mean for the input type to be '()'?
}    
Run Code Online (Sandbox Code Playgroud)

swift swift4 ios11 xcode9-beta

11
推荐指数
1
解决办法
3826
查看次数