小编Jos*_*ell的帖子

Swift类中的错误:在super.init调用时未初始化属性

我有两节课,ShapeSquare

class Shape {
    var numberOfSides = 0
    var name: String
    init(name:String) {
        self.name = name
    }
    func simpleDescription() -> String {
        return "A shape with \(numberOfSides) sides."
    }
}

class Square: Shape {
    var sideLength: Double

    init(sideLength:Double, name:String) {
        super.init(name:name) // Error here
        self.sideLength = sideLength
        numberOfSides = 4
    }
    func area () -> Double {
        return sideLength * sideLength
    }
}
Run Code Online (Sandbox Code Playgroud)

通过上面的实现,我得到错误:

property 'self.sideLength' not initialized at super.init call
    super.init(name:name)
Run Code Online (Sandbox Code Playgroud)

为什么我必须self.sideLength在打电话前设置super.init

compiler-errors properties swift

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

禁用某些文件的自动引用计数

我已经下载了iOS 5 SDK,发现ARC是新Apple编译器的一个很棒的功能.目前,许多第三方框架不支持ARC.我可以将ARC用于我的新代码并保持当前的保留/释放代码不变吗?ARC转换器在这里不起作用,因为某些框架(例如JSONKit)无法使用转换器转换为ARC.

编辑:

答案是为-fno-objc-arc不希望ARC的文件添加编译器标志.在Xcode 4中,您可以在目标 - > Build Phases - > Compile Sources下执行此操作.

objective-c ios5 automatic-ref-counting

183
推荐指数
3
解决办法
5万
查看次数

对象库在Xcode 10中的位置是什么?

在Xcode 10中,对象库在哪里显示视图和控制器对象,代码片段和介质曾经出现在Xcode 9及更旧版本的右下角?

Xcode 9:

Xcode项目窗口显示对象库

Xcode 10:

Xcode项目窗口显示与Xcode 9窗口相同的空间,为空

user-interface xcode xcode10

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

当前位置权限对话框消失得太快

我的应用程序获取用户的位置,获取坐标,并提供与目的地或来源的距离.所有这些可能的目的地都显示在表格视图中,因此我在填充表格的同时获得用户坐标.唯一的问题是,出现要求用户位置的警报视图然后消失得太快就无法点击它!

有没有办法在应用程序首次加载时手动显示此警报?我尝试在应用加载时获取用户的位置以尝试强制显示警报,但这不起作用.

objective-c core-location ios

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

Xcode的构建文件夹在哪里?

在Xcode 4之前,构建曾经在我的项目的根文件夹中创建.我再也找不到了.

我在哪里可以找到构建文件夹?

xcode build

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

如何禁用UIButton的高亮控制状态?

我有一个UIButton,当被选中时,触摸时不应改变状态.默认行为是它在触摸时处于UIControlStateHighlighted,这让我很生气.

建议?

cocoa-touch uibutton uikit uicontrol ios

140
推荐指数
7
解决办法
8万
查看次数

在Objective-C中大写或更改NSString的大小写

我想知道如何大写在一个对象中找到的字符串NSMutableArray.

一个NSArray包含字符串'April'索引2.
我想这是改变'APRIL'.

这样简单吗?

viewNoteDateMonth.text  = [[displayDate objectAtIndex:2] capitalized];
Run Code Online (Sandbox Code Playgroud)

string cocoa-touch objective-c nsstring uppercase

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

将NSDate格式化为年,月,日,小时,分钟,秒的特定样式

我基本上需要分别获取当前日期和时间,格式为:

2009-04-26 
11:06:54

生成以下代码,来自同一主题的另一个问题

now:        |2009-06-01 23:18:23 +0100| 
dateString: |Jun 01, 2009 23:18| 
parsed:     |2009-06-01 23:18:00 +0100|

这几乎是我正在寻找的,但我想分开日期和时间.

NSDateFormatter *format = [[NSDateFormatter alloc] init];
[format setDateFormat:@"MMM dd, yyyy HH:mm"];

NSDate *now = [[NSDate alloc] init];

NSString *dateString = [format stringFromDate:now];

NSDateFormatter *inFormat = [[NSDateFormatter alloc] init];
[inFormat setDateFormat:@"MMM dd, yyyy"];

NSDate *parsed = [inFormat dateFromString:dateString];

NSLog(@"\n"
"now:        |%@| \n"
"dateString: |%@| \n"
"parsed:     |%@|", now, dateString, parsed);
Run Code Online (Sandbox Code Playgroud)

cocoa cocoa-touch nsdate nsdateformatter date-formatting

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

更改UIBarButtonItem的字体

UIToolbar与UIBarButtonItem

我有一个UIBarButtonItem在我的UIToolbar标题做了.现在我想用Bold 将字体从默认字体更改为"Trebuchet MS".我怎样才能做到这一点?

cocoa-touch uibarbuttonitem ios

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

深度复制NSArray

是否有任何内置功能可以让我深层复制NSMutableArray

我环顾四周,有些人说[aMutableArray copyWithZone:nil]是深刻的副本.但我试过,它似乎是一个浅薄的副本.

现在我用for循环手动执行复制:

//deep copy a 9*9 mutable array to a passed-in reference array

-deepMuCopy : (NSMutableArray*) array 
    toNewArray : (NSMutableArray*) arrayNew {

    [arrayNew removeAllObjects];//ensure it's clean

    for (int y = 0; y<9; y++) {
        [arrayNew addObject:[NSMutableArray new]];
        for (int x = 0; x<9; x++) {
            [[arrayNew objectAtIndex:y] addObject:[NSMutableArray new]];

            NSMutableArray *aDomain = [[array objectAtIndex:y] objectAtIndex:x];
            for (int i = 0; i<[aDomain count]; i++) {

                //copy object by object
                NSNumber* n = [NSNumber …
Run Code Online (Sandbox Code Playgroud)

cocoa cocoa-touch objective-c deep-copy nsarray

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