小编Hon*_*ney的帖子

由于"内部"保护级别,初始化程序无法访问

我有一些协议

LoginStrategy

public protocol LoginStrategy {
    func login(_ viewController: UIViewController)
    func getUserInfo(withCompletionHandler completionHandler: @escaping (_ userInfo: [String: Any]?) -> ())
    func createLoginButton(_ frame: CGRect, withCompletionHandler completionHandler: @escaping (_ loginButton: UIView) -> ())
    func getUserId() -> String
}
Run Code Online (Sandbox Code Playgroud)

和两个类:

LoginProvider

public class LoginProvider {

    public let strategy: LoginStrategy

    public func login(_ viewController: UIViewController) {
        return self.strategy.login(viewController)
    }

    public func getUserInfo(withCompletionHandler completionHandler: @escaping (_ userInfo: [String: Any]?) -> ()) {
        return self.strategy.getUserInfo(withCompletionHandler: completionHandler)
    }

    public func createLoginButton(_ frame: CGRect, withCompletionHandler completionHandler: @escaping …
Run Code Online (Sandbox Code Playgroud)

frameworks access-modifiers initializer ios swift

63
推荐指数
3
解决办法
4万
查看次数

是否可以在调试时查看iOS应用程序沙箱中的文件内容?

我想在Xcode中调试时检查特定执行点的XML文件的内容.是否可以通过管理器(我使用实际的硬件设备而不是模拟器进行调试)或在输出/控制台中输入某种命令来查看文件的内容?

我正在使用Xcode 4.

debugging xcode logging ios xcode4

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

如何在Swift Dictionary中添加nil值?

我已经在我的应用程序中向我的服务器发出了请求.并发布类似这样的数据.服务器端正在等待所有参数,即使它们是零.但我无法将nil值添加到字典中.

 var postDict = Dictionary<String,AnyObject>
 postDict[pass]=123
 postDict[name]="ali"
 postDict[surname]=nil // dictionary still has only pass and name variables.
Run Code Online (Sandbox Code Playgroud)

有没有办法将nil值添加到字典?

null dictionary optional swift

61
推荐指数
4
解决办法
3万
查看次数

在iOS Swift中将远程JSON数据同步到本地缓存存储

我正在尝试找到解决方案,以简单处理iOS设备上只读消耗远程JSON数据的所有必要步骤.这意味着获取远程JSON数据,存储到iOS设备上的本地缓存以供脱机使用,刷新缓存,解析JSON数据.我认为现在所有移动应用都是非常普遍的要求.

我知道可以手动下载远程JSON文件,将其存储到iOS设备上的本地数据库或文件中,当网络不可用时从本地存储中获取它,否则从网上下载.我现在手动完成.:)但是希望通过使用框架/库可以做的许多步骤,不是吗?

所以我尝试了几乎所有我需要的HanekeSwift框架,但它只缓存远程JSON(和图像),但不刷新缓存!这对我没用.我也知道存在Alamofire和SwiftyJSON,但我对它们没有任何经验.

你有任何经验如何做到这一点?

摘要

  • Swift中支持iOS8的库或框架
  • 下载远程JSON并存储到本地缓存
  • 可以从它的原点刷新本地缓存
  • 好的奖金是简单的JSON解析

在此输入图像描述

caching http ios swift alamofire

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

为什么我不能在Swift中使用let in protocol?

我对Swift中有关var的使用和关键字{get set}的协议有疑问.

来自Apple文档:

如果协议要求属性可获取和可设置,则不能通过常量存储属性或只读计算属性来满足该属性要求.如果协议只要求属性可以获取,那么任何类型的属性都可以满足要求,如果这对您自己的代码有用,则该属性也可以设置.

属性要求始终声明为变量属性,前缀为var关键字.Gettable和settable属性通过在类型声明后写入{get set}来指示,并且通过编写{get}来指示gettable属性.

我无法理解为什么我不能使用let.只有get的协议中的var不只是一个let

像这样的东西:

protocol someProtocol 
{
   var someProperty: String { get }
}
Run Code Online (Sandbox Code Playgroud)

它不会只是:

protocol someProtocol 
{
   let someProperty: String
}
Run Code Online (Sandbox Code Playgroud)

我错过了什么?

protocols getter-setter ios swift swift-protocols

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

Swift:在标签或textView中显示HTML数据

我有一些HTML数据,其中包含标题,段落,图像和列表标签.

有没有办法在一个UITextView或中显示这些数据UILabel

html uitextview nsattributedstring ios swift

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

我可以在iPhone上的Core Data中使用Transformable属性类型做什么?

属性的这种Transformable数据类型.到底有什么好处呢?有好的例子吗?

我想玩这个.所以经过一段时间的搜索,我发现了这个:NSValueTransformer.似乎是我需要的东西.

那我怎么开始这个呢?例如,如果我想存储一个UIColor对象,我会为它制作一个变换器吗?

究竟是什么东西改变了这种东西?一个NSData?我传递给变压器的物体必须遵循任何协议吗?

core-data ios nsvaluetransformer

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

如何在调用-reloadData后保留UITableView contentoffset

CGPoint offset = [_table contentOffset];
[_table reloadData];
[_table setContentOffset:offset animated:NO];    //unuseful

//    __block UITableView *tableBlock = _table;
//    [self performBlock:^(id sender) {
//        [tableBlock setContentOffset:offset];
//    } afterDelay:2];
Run Code Online (Sandbox Code Playgroud)

我知道不知道任何被调用的委托方法reloadData.使用afterDelay:2哪种黑客可能太短或太长,所以我该如何实现呢?

uitableview reloaddata ios contentoffset

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

如何在不使用ToString()的情况下将Int转换为C#中的String?

将以下int参数转换为字符串,而不使用任何本机toString功能.

public string integerToString(int integerPassedIn){    
    //Your code here
}
Run Code Online (Sandbox Code Playgroud)

既然一切都继承自Object并且Object有一个ToString()方法,你如何intstring不使用本机ToString()方法的情况下将a 转换为a ?

字符串连接的问题在于它会调用ToString()链直到它击中一个或命中Object该类.

如何在不使用C#的情况下将整数转换为字符串ToString()

c# string algorithm int

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

iOS Playground不显示UI预览

我用XCode 7.1创建了一个简单的游乐场,我输入了这个简单的代码:

import UIKit 
import XCPlayground 

var str = "Hello, playground" 

let color = UIColor (red: 1 , green: 1 , blue: 0 , alpha: 0 ) 

let view = UIView() 
view.backgroundColor = UIColo (colorLiteralRed: 1 , green: 0 , blue: 0 , alpha: 0 ) 

view.frame = CGRect (x: 0 ,y: 0 ,width: 100 ,height: 100 ) 

let label = UILabel (frame: CGRect (x: 5 , y: 5 , width: 50 , height: 20 )) 

label.text = str 

view.addSubview(label) …
Run Code Online (Sandbox Code Playgroud)

xcode uikit ios swift swift-playground

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