小编Mic*_*ola的帖子

Swift:解除模态后在ViewController上执行一个函数

用户在视图控制器中调用模态.当在模态上调用self.dismissViewController时,需要在初始视图控制器上运行函数.此函数还需要从模态传递的变量.

此模式可以从多个视图控制器中显示,因此无法在模态视图的viewDidDisappear中直接调用该函数.

怎么能迅速完成?

xcode ios swift

10
推荐指数
2
解决办法
9373
查看次数

比较Swift中对象的两个实例

给定以下类,如何将两个实例中的所有值相互比较?

// Client Object
//
class PLClient {
    var name = String()
    var id = String()
    var email = String()
    var mobile = String()
    var companyId = String()
    var companyName = String()

    convenience init (copyFrom: PLClient) {
        self.init()
        self.name =  copyFrom.name
        self.email = copyFrom.email
        self.mobile = copyFrom.mobile
        self.companyId = copyFrom.companyId
        self.companyName = copyFrom.companyName

    }

}

var clientOne = PLClient()

var clientTwo = PLClient(copyFrom: clientOne)

if clientOne == clientTwo {   // Binary operator "==" cannot be applied to two PLClient operands …
Run Code Online (Sandbox Code Playgroud)

comparison class object swift

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

检查字符串是否是Swift中的有效double值

在Swift中,如何检查字符串是否是有效的double值?我一直在使用此问题的以下扩展(但作为一个浮点数),但如果无法转换该值,它只返回"0":

extension String {
    var doubleValue:Double? {
        return (self as NSString).doubleValue
    }
}
Run Code Online (Sandbox Code Playgroud)

理想情况下,我希望它返回nil所以它可以被捕获if-let,如下所示:

if let i = str.doubleValue {
    object.price = i
} else {
    // Tell user the value is invalid
}
Run Code Online (Sandbox Code Playgroud)

string double swift

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

如何在Swift中使用Base64编码的字符串创建图像?

Web服务将Base64编码的图像作为字符串回显.如何在Swift项目中解码和显示此编码图像?

具体来说,我想将一个已经由Web服务提供的图像作为Base64格式的字符串,并了解如何在UIImageView中显示它.

到目前为止我发现的文章描述了弃用的技术或用Objective-C编写,我不熟悉.你如何接受Base64编码的字符串并将其转换为UIImage?

base64 uiimageview ios swift

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

根据内容调整textField的大小

在使用Swift编写的iOS应用程序中使用自动布局时,如何根据内容调整textField的大小?

当视图加载时以及在用户键入时,文本字段将根据需要调整大小以适合其内容.

理想情况下,文本字段将停止在特定点(例如,6行)调整大小,并变为可滚动.

resize textfield ios swift

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

字典是否应该转换为Swift中的类或结构?

我正在开发一个本机iOS应用程序,它从我们也可以控制的Web服务接收JSON格式的数据.计划是在18个月内改变后端数据库,转而采用不同的平台.

考虑到这一点,我们希望确保iOS应用程序相对容易适应新的数据源,特别是因为我们可能会更改通过JSON从服务器接收的关联数组中使用的键.

有两个目标:

  1. 为每个PHP请求创建一个位置,如果需要,可以修改密钥.这样可以避免通过代码挖掘来找到类似的东西job["jobNumber"].

  2. 清理我们现有的代码,以消除像job["jobNumber"].

我们都是Swift的新手,没有Objective-C经验,但我认为Struct或Class适合创建像job.jobNumber.

字典应该转换成类还是结构?表示采用Dictionary<String, String>如下所示的可重用方法并将其转换为推荐类型的示例代码将非常有用.

示例词典:

job = {
    "jobNumber" : "1234",
    "jobName" : "Awards Ceremony",
    "client" : "ACME Productions"
}
Run Code Online (Sandbox Code Playgroud)

期望的结果:

println("job name is \(job.name)")
// prints: job name is Awards Ceremony
Run Code Online (Sandbox Code Playgroud)

struct dictionary class swift

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

Swift对具有多个排序条件的数组进行排序

如何在Swift中按多个条件对数组进行排序?例如,如下所示的字典数组:

items = [
    [
        "item":"itemA"
        "status":"0"
        "category":"B"
    ],[
        "item":"itemB"
        "status":"1"
        "category":"C"
    ],[
        "item":"itemC"
        "status":"0"
        "category":"A"
    ],[
        "item":"itemD"
        "status":"2"
        "category":"A"
    ]
]
Run Code Online (Sandbox Code Playgroud)

这需要按如下方式排序:

  1. 类别ASC
  2. 状态DESC

我已经成功地整理这个数组基于任何条件1或2,但不能同时使用.以下是代码:

itemArray.sort({
        $0["category"] < $1["category"])
    })
Run Code Online (Sandbox Code Playgroud)

如何将其扩展为包含给定顺序中的多个排序标准?

arrays sorting closures swift

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

在Swift字典数组中查找并替换值

如何搜索匹配的字典数组并将该匹配替换为另一个字典?

哪里lineItemsArray:Array是字典的一个数组,我期待搜索数组中的元素进行匹配,返回匹配的索引,然后更换字典,一个新的,索引.数组中的每个字典都包含一个recordId用于搜索的键.每个recordId都是唯一的,搜索将始终返回单个结果.

将替换匹配记录的新数据由Web服务生成并作为字典返回.(见下文)

以下是我的具体问题:

  • 如何搜索字典数组以进行匹配?
  • 如何返回该匹配的索引路径?
  • 在匹配索引处替换字典的最有效方式是什么?

这是一个lineItemsArray样子:

[{
    buyFromCompanyId = 1;
    buyFromJobId = 5276;
    comment = "";
    componentId = 2331;
    description = "";
    fulfillmentStatus = 0;
    globalJobId = 2470;
    inventoryItemId = 1824;
    isSerialized = 1;
    itemClass = 0;
    itemQty = 2;
    lineItemId = 50853;
    priceRecordId = 152693;
    productName = "Bose L1 Compact";
    qtyAlreadyPulled = 0;
    qtyRate1 = 3;
    qtyRate2 = "";
    qtyTotalStock = "";
    rate1 = "";
    rate2 = "";
    sellToCompanyId = 1; …
Run Code Online (Sandbox Code Playgroud)

arrays dictionary swift

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

视图上的模糊背景不一致地工作

使用以下代码使视图模糊的背景不能始终如一地工作.

func makeBackgroundBlurry () {
    var blurEffect = UIBlurEffect()
    blurEffect = UIBlurEffect(style: UIBlurEffectStyle.Light)
    let blurEffectView = UIVisualEffectView(effect: blurEffect)
    blurEffectView.frame = view.bounds //view is self.view in a UIViewController
    view.insertSubview(blurEffectView, atIndex: 0)
    view.backgroundColor = UIColor.clearColor()


    //add auto layout constraints so that the blur fills the screen upon rotating device
    blurEffectView.setTranslatesAutoresizingMaskIntoConstraints(false)
    view.addConstraint(NSLayoutConstraint(item: blurEffectView, attribute: NSLayoutAttribute.Top, relatedBy: NSLayoutRelation.Equal, toItem: view, attribute: NSLayoutAttribute.Top, multiplier: 1, constant: 0))
    view.addConstraint(NSLayoutConstraint(item: blurEffectView, attribute: NSLayoutAttribute.Bottom, relatedBy: NSLayoutRelation.Equal, toItem: view, attribute: NSLayoutAttribute.Bottom, multiplier: 1, constant: 0))
    view.addConstraint(NSLayoutConstraint(item: blurEffectView, attribute: NSLayoutAttribute.Leading, …
Run Code Online (Sandbox Code Playgroud)

background viewcontroller ios swift uiblureffect

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