小编Wor*_*ing的帖子

"NSURL"不能隐式转换为"URL"; 你的意思是使用"as"来明确转换?

我有最新的xcode测试版,只是尝试在应用内加载网页.

import UIKit

class ViewController: UIViewController {

    @IBOutlet var webView: UIWebView!
    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
        let url = NSURL (string: "https://www.google.com");
        let requestObj = NSURLRequest(URL: url!);
        webView.loadRequest(requestObj);
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }
}
Run Code Online (Sandbox Code Playgroud)

在这一行:let requestObj = NSURLRequest(URL: url!); 我收到以下错误:

"NSURL"不能隐式转换为"URL"; 你的意思是使用"as"来明确转换?

我删除了感叹号,我收到此错误:

无法转换"NSURL"类型的值?到期望的参数类型"URL"

在过去的四个小时里,我一直在尝试使用互联网上的代码.我在想最新的swift只是不允许这样或者什么,因为没有任何作用.我设置为10.0部署目标和Xcode 8.0兼容.但我也尝试过这两个设置的早期版本,并且我在两个版本的所有版本中都得到了相同的错误.

是的,故事板上的我的webView正确连接到ViewController.swift.

nsurl swift swift3

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

传递选择器(函数名称)以在swift中运行

我想将函数的选择器传递给另一个函数.现在我只是传递字符串并执行几个if语句.如果我可以将实际的函数选择器传递给函数,我可以删除所有的if语句.

我目前的职能:

func getBtn(i: String, f: String) -> UIBarButtonItem
{
    let btn: UIButton = UIButton();
    btn.frame=CGRectMake(0,0,30,30)
    btn.setBackgroundImage(UIImage(named:i), forState: UIControlState.Normal)
    if f == "funcOne"{ btn.addTarget(self, action: #selector(self.funcOne), forControlEvents:.TouchUpInside) }
    else if f == "funcTwo"{ btn.addTarget(self, action: #selector(self.funcTwo), forControlEvents:.TouchUpInside) }
    else if f == "funcThree"{ btn.addTarget(self, action: #selector(self.funcThree), forControlEvents:.TouchUpInside) }
    else if f == "funcFour"{ btn.addTarget(self, action: #selector(self.funcFour), forControlEvents:.TouchUpInside) }
    // etc.
    let barBtn = UIBarButtonItem(customView: btn)
    return barBtn;
}
Run Code Online (Sandbox Code Playgroud)

用法:

items.append(self.getBtn("checkmark",f:"funcOne"));
Run Code Online (Sandbox Code Playgroud)

我希望能做什么:

func getBtn(i: String, f: SOME_TYPE_OF_THING) -> UIBarButtonItem
{
    let …
Run Code Online (Sandbox Code Playgroud)

func swift

9
推荐指数
1
解决办法
5418
查看次数

无法下标"JSON"类型的值,索引类型为"STRING"

这是在Swift2中工作但现在在Swift3中(自动转换后)我收到一个错误:

if self.entry["scheduler"] || self.entry["owner"]

Cannot subscript a value of type 'JSON' with an index of type 'STRING'

self.entry ["scheduler"]等的值是布尔值,但我认为问题是索引,"调度程序"和"所有者"

当然,我self.entry以完全相同的方式引用其他索引,并在构建时不会出错.

xcode自动更新,我生活在一场噩梦中.

swifty-json swift3

8
推荐指数
1
解决办法
7640
查看次数

将特定多维数组键的值转换为新数组中的键,并将原始数组作为值

基本上我只是想知道是否有内置的方法来做这个,这可能会更快,就像使用array_map回调或其他东西:

function array_rekey($a, $column)
{
    $array = array();
    foreach($a as $keys) $array[$keys[$column]] = $keys;
    return $array;
}
Run Code Online (Sandbox Code Playgroud)

php arrays multidimensional-array

7
推荐指数
1
解决办法
1329
查看次数

在Swift 2中将JSON转换为数组

我需要构建Arrays一个Grouped UITableView,每个表格单元格中都有一个Title和Detail行.我从服务器获得了json输出,使其形状正确,以迭代UITableViewDataSource方法.但是,将这些UITableView函数引用的可读数组转换为最简单的方法是什么?

标题数组用于组标题,因此它只是一维数组.我可以迭代一下.标题和细节数组都是二维的.我无法弄清楚如何在Swift中做到这一点.

"headings":["Tuesday, August 16, 2016","Wednesday, August 17, 2016","Thursday, August 18, 2016","Friday, August 19, 2016","Saturday, August 20, 2016","Sunday, August 21, 2016","Monday, August 22, 2016","Tuesday, August 23, 2016","Wednesday, August 24, 2016","Thursday, August 25, 2016","Friday, August 26, 2016","Saturday, August 27, 2016","Sunday, August 28, 2016","Monday, August 29, 2016","Tuesday, August 30, 2016","Wednesday, August 31, 2016","Thursday, September 1, 2016","Friday, September 2, 2016","Saturday, September 3, 2016","Sunday, September 4, 2016","Monday, September 5, 2016","Tuesday, September 6, 2016","Wednesday, September 7, 2016","Thursday, …
Run Code Online (Sandbox Code Playgroud)

arrays json uitableview ios swift2

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

HTTP Post 参数通过 json 编码为 $_POST

我不知道如何正确发送 POST 参数。

我的斯威夫特 3:

let parameters = ["name": "thom", "password": "12345"] as Dictionary<String, String>
let url = URL(string: "https://mywebsite.com/test.php")!
let session = URLSession.shared
var request = URLRequest(url: url)
request.httpMethod = "POST"
do
{
    request.httpBody = try JSONSerialization.data(withJSONObject: parameters)
}
catch let error
{
    print(error.localizedDescription)
}
request.addValue("application/x-www-form-urlencoded", forHTTPHeaderField: "Content-Type")
request.addValue("application/json", forHTTPHeaderField: "Accept")
let task = session.dataTask(with: request as URLRequest, completionHandler: 
{
    data, response, error in
    guard error == nil else
    {
        print(error as Any)
        return
    }           
    guard let data = …
Run Code Online (Sandbox Code Playgroud)

php post json swift3

2
推荐指数
1
解决办法
1746
查看次数

什么更快?使用通配符和OR进行SQL查询,还是使用php循环进行catch-all查询进行过滤?

我在一张桌子上运行查询.我需要最终结果是一个行数组,其中当前用户被列为数据库行记录的消息中的参与者.两个参与者列是staffclients,并且包含用户ID和/或角色名称的序列化数组(例如,a:3:{i:0;s:8:"staffman";i:1;s:3:"203";i:2;s:3:"170";}).

尝试在SQL查询中过滤掉当前用户的所有非匹配项,或者执行全部查询(可能在几百行上),然后循环遍历它们以过滤掉那些用户不是参与者?

SQL选项:

$query = "SELECT * FROM ".self::$messages;
if($is_client) $query .= " WHERE type = 'clients'";
elseif($is_staff) $query .= " WHERE type = 'staff' AND (staff LIKE '%\"".$user->ID."\"%' OR staff LIKE 'staff\"%')";
elseif(!$is_admin)
{
    $query .= " WHERE type = 'staff' AND (staff LIKE '%\"".$user->ID."\"%' OR staff LIKE 'staff\"%' OR staff LIKE 'clientman%'";
    if($is_staffman) $query .= " OR staff LIKE 'staffman%'";
    if($is_accountant) $query .= " OR staff like 'accountant%'";
    $query .= ")";
} …
Run Code Online (Sandbox Code Playgroud)

php mysql sql loops wildcard

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