小编use*_*109的帖子

如何在iOS 7中使导航栏透明?

有没有办法让导航控制器的栏完全透明?

我尝试过的:

[self.navigationController.navigationBar setBackgroundColor:[UIColor clearColor]];
[self.navigationController.navigationBar setBarTintColor:[UIColor clearColor]];
[self.navigationController.navigationBar setAlpha:0.0];
Run Code Online (Sandbox Code Playgroud)

但酒吧的外观不会改变,并保持白色半透明.我试图看到酒吧项目,但不是酒吧本身.有人能指出我正确的方向吗?谢谢

objective-c transparent uinavigationbar ios ios7

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

Objective-C中的静态块变量

是否可以使用"块类型"的静态变量?

我有一个只在静态方法中做的东西.执行那些我打电话的方法statusChangedBlock.为此,我创建了一个类的共享实例,并使用其单个块属性.我想知道是否有可能有一个静态块变量; 所以我不必创建一个具有单个属性的实例,只是为了通知我的状态已更改.

我知道有一个NSNotification的选项,但我不喜欢使用它,但有一些罕见的例外.

......这个问题听起来有些愚蠢,我不知道为什么.我希望有人指出这一点.

objective-c static-variables objective-c-blocks

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

在iOS上访问NSUserDefaults被认为是便宜的吗?

简而言之:快速/便宜吗?将NSUserDefaults中的值存储在内存中以便更快地访问是否有意义?

更长:说,我有大量的值要存储和读取NSUserDefaults; 需要经常访问(读取)这些值.

在下面的代码片段中,我初始化一个私有存储属性,并保持与相应的NSUserDefaults值同步 - 所以当我需要读取它时,我读取了属性.

如果直接读取默认值实际上很快,我显然会删除私有财产.但我不确定.它快吗?

private var _loggedIn = NSUserDefaults.standardUserDefaults().boolForKey("loggedIn")
public var loggedIn: Bool {
    get {
        return _loggedIn
    }
    set {
        _loggedIn = newValue
         NSUserDefaults.standardUserDefaults().setBool(newValue, forKey: "loggedIn")
         NSUserDefaults.standardUserDefaults().synchronize()
    }
}
Run Code Online (Sandbox Code Playgroud)

对未来读者的澄清:问题是关于阅读,而不是写作/同步,这是(如答案中所指出的)不快速也不便宜.

.synchronize()在setter中调用是有正当理由的 - 在我的特定情况下,让它立即同步是很重要的,所以我牺牲性能来保持逻辑完整性.在一般情况下,您应该考虑是否需要调用它 - 或者让系统选择适当的写入时间.

..In事实上,现在我看,我看到保持存储的属性,因为它是在片段中,将提供逻辑完整性(从其他地方只要获得通过吸气发生,从userDefaults不是直接).所以我也可以synchronizing在这里避免.

nsuserdefaults ios

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

子类型的 Swift 协议一致性要求

(如果有人可以提出更好的标题,请这样做)

以下代码不会编译出错Type 'ObserverClass' does not conform to protocol 'Observer',编译器通过声明var object: ObservedObject.

class ObservedObject {}
class ObservedObjectSubclass: ObservedObject {}

protocol Observer {
    var object: ObservedObject { get }
}

class ObserverClass: Observer { // Type 'ObserverClass' does not conform to protocol 'Observer'

    // suggested:
    // var object: ObservedObject

    var object: ObservedObjectSubclass = ObservedObjectSubclass()
}
Run Code Online (Sandbox Code Playgroud)

我的看法是 -ObservedObjectSubclass ObservedObject,所以object财产保证是ObservedObject协议要求的类型。

(同样如此,如果使用协议一致性而不是子类化 - 下面)

protocol ObservedObjectProtocol {}
protocol Observer {
    var object: ObservedObjectProtocol { …
Run Code Online (Sandbox Code Playgroud)

protocols standards-compliance subtype swift

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