免责声明:我对iOS开发比较陌生.
我们刚刚结束我们的iOS 5.0到6.1的应用程序编码,我们已准备好提交它.但是,iOS 7现已推出,我们没有时间重新设计整个应用程序.
我将我的IDE更新为xCode 5然后复制了iOS 6.1 SDK,因此我可以将Base SDK设置为iOS 6.1.但是,当我为iOS 7.0模拟器构建应用程序时,它再次成为iOS 7.0的外观.
有没有办法将应用程序提交到运行iOS 6.1外观的App Store ,即使用户的设备安装了iOS 7.0?
今天我提出了一个有趣的问题.我注意到以下代码:
class A
{
public A()
{
Print();
}
public virtual void Print()
{
Console.WriteLine("Print in A");
}
}
class B : A
{
public B()
{
Print();
}
public override void Print()
{
Console.WriteLine("Print in B");
}
}
class Program
{
static void Main(string[] args)
{
A a = new B();
}
}
Run Code Online (Sandbox Code Playgroud)
打印
Print in B
Print in B
Run Code Online (Sandbox Code Playgroud)
我想知道它为什么两次打印"B中打印".
我对Objective-C很新,我有一个问题.
我创建了一个自定义类,并尝试为初始化创建重载:
- (id)init
{
if (self = [super init]) {
[self setIsCurrentCar:NO];
}
return self;
}
-(id) initWithID:(NSInteger)id {
if(self = [self init]) {
[self setID:id];
}
return self;
}
-(id) initWithID:(NSInteger)id CarYear:(NSString *)year {
if(self = [self initWithID:id]) {
[self setCarYear:year];
}
return self;
}
Run Code Online (Sandbox Code Playgroud)
让我们说一下,我称之为-(id) initWithIDCarYear方法.
我想知道上面的代码在结构上是正确的.
self设置为3次.有更好的解决方案吗?if(self = ...)始终检查或者它是冗余代码?谢谢
@Edit 以下代码更好吗?
-(id) initWithID:(NSInteger)id CarYear:(NSString *)year {
if (self = [super init]) {
[self setIsCurrentCar:NO];
[self setID:id];
[self …Run Code Online (Sandbox Code Playgroud)