我有两节课,Shape
和Square
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
?
我已经下载了iOS 5 SDK,发现ARC是新Apple编译器的一个很棒的功能.目前,许多第三方框架不支持ARC.我可以将ARC用于我的新代码并保持当前的保留/释放代码不变吗?ARC转换器在这里不起作用,因为某些框架(例如JSONKit)无法使用转换器转换为ARC.
编辑:
答案是为-fno-objc-arc
不希望ARC的文件添加编译器标志.在Xcode 4中,您可以在目标 - > Build Phases - > Compile Sources下执行此操作.
我的应用程序获取用户的位置,获取坐标,并提供与目的地或来源的距离.所有这些可能的目的地都显示在表格视图中,因此我在填充表格的同时获得用户坐标.唯一的问题是,出现要求用户位置的警报视图然后消失得太快就无法点击它!
有没有办法在应用程序首次加载时手动显示此警报?我尝试在应用加载时获取用户的位置以尝试强制显示警报,但这不起作用.
在Xcode 4之前,构建曾经在我的项目的根文件夹中创建.我再也找不到了.
我在哪里可以找到构建文件夹?
我有一个UIButton,当被选中时,触摸时不应改变状态.默认行为是它在触摸时处于UIControlStateHighlighted,这让我很生气.
建议?
我想知道如何大写在一个对象中找到的字符串NSMutableArray
.
一个NSArray
包含字符串'April'
索引2.
我想这是改变'APRIL'
.
这样简单吗?
viewNoteDateMonth.text = [[displayDate objectAtIndex:2] capitalized];
Run Code Online (Sandbox Code Playgroud) 我基本上需要分别获取当前日期和时间,格式为:
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) 我有一个UIBarButtonItem
在我的UIToolbar
标题做了.现在我想用Bold 将字体从默认字体更改为"Trebuchet MS".我怎样才能做到这一点?
是否有任何内置功能可以让我深层复制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)