小编Boo*_*oon的帖子

什么时候调用applicationWillTerminate?

在什么情况下会调用applicationWillTerminate?例如,如果代码中出现崩溃,它是否会被调用?

Apple的文档对此很模糊,只是说系统需要因某种原因需要终止它.

对于不支持后台执行或与iOS 3.x或更早版本链接的应用程序,当用户退出应用程序时,始终会调用此方法.对于支持后台执行的应用程序,当用户退出应用程序时通常不会调用此方法,因为在这种情况下应用程序只是移动到后台.但是,可以在应用程序在后台运行(未暂停)并且系统由于某种原因需要终止它的情况下调用此方法.

objective-c ios

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

如何防止ssh-keygen在公钥中使用我的登录名和计算机名?

ssh-keygen在OS X上运行,当我显示生成的公钥时,我看到我的登录名和机器名出现在密钥的最后部分.有没有办法让它使用不同的值或根本不使用它?

ssh customization

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

扩展可能不包含存储的属性,但为什么允许静态

扩展不能包含存储属性,但为什么可以在扩展中定义静态存储属性?

我也没有找到任何文档提到扩展中允许静态属性.

extension String {
  static let test = "Test"
  static var test2 = "Test2"
}
Run Code Online (Sandbox Code Playgroud)

swift swift-extensions

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

陷入Django错误:没有名为注册的模块

我安装了注册模块,将其添加到settings.py中.当我尝试运行syncdb时(%python sitename/manage.py syncdb --settings sitename.devsettings)

它给了我"错误:没有模块命名注册"

服务器上的相同设置(对所有内容使用相同的文件)很好.这发生在运行OS X的本地计算机上.

我检查了sys.path,列出了注册模块所在的路径,并且实际模块也就位.由于没有其他输出,我不知道如何进一步调试.什么可能导致这个问题?

django

17
推荐指数
6
解决办法
6万
查看次数

Swift 2 - 使用break on if语句的用例?

Swift 2的指南提到你可以结束if语句的程序执行.我个人从未使用if语句中断.

break语句结束循环,if语句或switch语句的程序执行......当break语句后跟语句标签的名称时,它结束循环的程序执行,if语句或switch语句命名通过那个标签.

在什么情况下会在if语句中使用break?这种语言功能似乎毫无用处.

TEST:
if (true) {
    break TEST
}
Run Code Online (Sandbox Code Playgroud)

if-statement break swift swift2

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

__IPHONE_OS_VERSION_MAX_ALLOWED有哪些常见用例?

您将使用__IPHONE_OS_VERSION_MAX_ALLOWED检查的情况是什么?__IPHONE_OS_VERSION_MIN_REQUIRED怎么样?

cocoa-touch ios

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

如何防止EXC_BAD_ACCESS崩溃应用程序?

有没有办法防止EXC_BAD_ACCESS应用程序崩溃,就像@try..@catch您可以优雅地处理异常一样.

更新:

代码在尝试取消引用无效指针时崩溃.这是第三方库,它与外部硬件接口,因此我无法在本地调试.我试图阻止它崩溃并将数据输出到我的应用程序上的调试控制台.

objective-c

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

在Swift中的Array中存储不同类型的值

在Swift编程语言中,它说"一个数组在一个有序列表中存储多个相同类型的值." 但我发现你可以在数组中存储多种类型的值.描述不正确吗?

例如

var test = ["a", "b", true, "hi", 1]
Run Code Online (Sandbox Code Playgroud)

swift

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

您是应该使用委托还是在类本身中将委托设置为nil

如果A类正在使用B类而A类是B类的委托,那么如果在B类的dealloc中将委托设置为nil,那么它可以吗?我已经看到代码通常会将代理重置为类A的dealloc中的nil,但不确定这样或那样的真正区别.

这是通常的方式:

// somewhere in class A

- (void) someFunc {
  self.b = [[B alloc] init];
  self.b.delegate = self;
}

- (void) dealloc {
  self.b.delegate = nil;
  [self.b release];
}
Run Code Online (Sandbox Code Playgroud)

delegates memory-management objective-c

13
推荐指数
3
解决办法
9622
查看次数

命名来自不同框架的扩展方法的冲突

作为测试,我创建了两个框架.两个框架都包含此扩展:

public extension UIDevice {
    var extraInfo: UIDeviceExtraInfo {
        return UIDeviceExtraInfo()
    }
}

public class UIDeviceExtraInfo {
    public var prop: String = "Device1"  //"Device2" is used in another framework
}
Run Code Online (Sandbox Code Playgroud)

然后我导入了两个框架并尝试打印UIDevice.currentDevice().extraInfo.prop.Swift编译器给出错误:Ambiguous use of extraInfo".

如何解决这样的名字冲突?

namespaces ios swift swift-extensions

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