小编Wil*_*lex的帖子

iOS:Objective C代码如何在Swift中读取静态变量?

例如,假设我有一个类似于静态变量pi的类.

let pi: Double = 3.1415926

 class MyClass {
// ...
 }
Run Code Online (Sandbox Code Playgroud)

如何允许Objective C代码使用静态变量pi?projectName-Swift.h类将具有自动生成的代码(只是一个小例子而不是100%准确).

  SWIFT_CLASS("_MyClass")
 @interface MyClass : NSObject
 - (instancetype)init OBJC_DESIGNATED_INITIALIZER;
 @end
Run Code Online (Sandbox Code Playgroud)

所以pi没有被添加到projectName-Swift.h中.这是关于我的项目正在发生的一个小例子,也许它应该生成静态变量,我错过了一些东西.任何提示或建议,以解决这个问题或使这项工作,将不胜感激.

objective-c ios swift

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

iOS Swift:接收器类型'DataBase'例如消息是Objective C代码的前向声明

我得到了Objective C代码的以下编译器错误.

接收器类型'DataBase'实例消息是Objective C代码的前向声明.

SWIFT代码

@objc class SharedData : NSObject {

var dataBase : Database?

class var sharedData : SharedData {
    struct Static {
        static var onceToken: dispatch_once_t = 0
        static var instance: SharedData? = nil
    }
    dispatch_once(&Static.onceToken) {
        Static.instance = SharedData()
    }
    return Static.instance!
}
  }
Run Code Online (Sandbox Code Playgroud)

目标C代码

SharedData *sharedData = [SharedData sharedData];
[sharedData.dataBase grabData];
Run Code Online (Sandbox Code Playgroud)

我的假设是我搞砸了快速的单例,我需要一个与Objective C代码一起使用的单例,但我不太确定.此外,这只是一个示例代码,我的真实代码是不同的,而且更复杂.但是,这应该证明我的问题.

singleton objective-c ios swift

5
推荐指数
0
解决办法
526
查看次数

WatchKit:仅更改一个接口控制器标题颜色

现在我只知道一种方法来改变接口控制器的标题颜色,它正在故事板中用全局色调来改变它.

在此输入图像描述

但是,这会改变界面标题颜色.如何只更改一个接口控制器标题颜色?任何建议或提示表示赞赏.

interface-builder swift watchkit

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

iOS:我应该使用EST或EDT,为什么?

我不久前问了一个关于时区的问题,我正在使用EST.用户建议我使用EDT.我想知道为什么我应该使用其中一个,因为它们都为我打印同一时间.这是代码,以更好地说明我的意思.

NSDate *today = [NSDate date];
NSDateFormatter *edtDf = [[NSDateFormatter alloc] init];
[edtDf setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"EDT"]];
[edtDf setDateFormat:@"yyyy-MM-dd HH:mm:ss"];

NSString *stringDate = [edtDf stringFromDate:today];

NSLog(@"The EDT is %@", stringDate);

NSDate *today1 = [NSDate date];
NSDateFormatter *estDf = [[NSDateFormatter alloc] init];
[estDf setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"EST"]];
[estDf setDateFormat:@"yyyy-MM-dd HH:mm:ss"];

NSString *stringDate1 = [estDf stringFromDate:today1];

NSLog(@"The EST is %@", stringDate1);
Run Code Online (Sandbox Code Playgroud)

timezone objective-c ios

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

iOS Swift:如何将以下Objective C方法移植到Swift?

我正在学习斯威夫特,并试图了解所有目标并了解它.

这是我试图移植到Swift的Objective C代码.

NSInteger sort(id num1, id num2, void *context) {
int v1 = [num1 intValue];
int v2 = [num2 intValue];
if (v1 < v2)
 return NSOrderedAscending;
else if (v1 > v2)
return NSOrderedDescending;
else
return NSOrderedSame;
}
Run Code Online (Sandbox Code Playgroud)

这就是我到目前为止所拥有的.

func sort (num1 : AnyObject , num2 : AnyObject , context : Void) -> NSInteger

{
    var v1 : Int = num1.integerValue
    var v2 : Int = num2.integerValue


    if (v1 < v2) {
        return NSOrderedAscending
    }
    else if (v1 > v2) …
Run Code Online (Sandbox Code Playgroud)

objective-c ios swift

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