Xcode没有Storyboard和ARC

PJR*_*PJR 116 iphone xcode ios uistoryboard

我已经下载了新的xcode-5并且刚刚开始使用它.

我们可以直接创建应用程序,包括storyboard和ARC,它不要求像早期版本那样的选项.

所以,我的问题是如何在没有ARC和故事板的情况下使用xcode5.我们必须手动删除storyboard文件?还是有其他选择.

PJR*_*PJR 150

使用Empty应用程序创建一个项目并添加任何viewcontroller(我在这里添加了TestViewController)

   - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions: (NSDictionary *)launchOptions
 {
   self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
   // Override point for customization after application launch.
   TestViewController *test = [[TestViewController alloc]     initWithNibName:@"TestViewController" bundle:nil];
   UINavigationController *nav = [[UINavigationController alloc]  initWithRootViewController:test];
   self.window.rootViewController = nav;
   [self.window makeKeyAndVisible];
   return YES;
 }
Run Code Online (Sandbox Code Playgroud)

消除电弧的步骤

1)在构建设置中将自动参考计数设置为NO.

////////////////////////////////////////////////// /////////////////////////结束//////////////////////// ////////////////////////////////////////////////// ////////////////////////////////////////////////// ////////////////////////////////////////////////// ////////////////////////////////////////////////// ///////////////////////

如果您已经创建与应用故事板ARC然后

删除故事板的步骤

1)从项目中删除Main.storyboard文件.

2)为控制器添加带有xib的新文件,如果在构建阶段未在编译源中添加,则手动添加.

3)plist中删除主故事板文件基本名称.

4)更改appdelegate didFinishLaunchingWithOptions文件并添加:

self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] ;

[self.window makeKeyAndVisible];
Run Code Online (Sandbox Code Playgroud)

就像 :

  - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
 {
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] ;

     // Override point for customization after application launch.

     TestViewController *test = [[TestViewController alloc]     initWithNibName:@"TestViewController" bundle:nil];
     UINavigationController *nav = [[UINavigationController alloc]  initWithRootViewController:test];
     self.window.rootViewController = nav;
     [self.window makeKeyAndVisible];

     return YES;
}
Run Code Online (Sandbox Code Playgroud)

现在,在上面的示例中,您必须手动管理内存管理,例如,

 self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease]; 

 [test release]; 
Run Code Online (Sandbox Code Playgroud)

消除电弧的步骤

1)在构建设置中将自动参考计数设置为NO.

  • 是不是还有"空项目"选项?我认为我不会每次都开始使用故事板. (7认同)

Raj*_*iah 44

您可以使用空应用程序模板创建新项目,而不是删除情节提要文件.这样就可以避免故事板文件的创建.

使用以下步骤省略故事板: 在此输入图像描述

  1. 使用Empty Application模板创建一个新项目.
  2. 添加一个新的viewController(例如:LoginViewController)
  3. 更改didFinishLaunchingWithOptionsAppDelegate.m下面指定的文件.

改成:

#import "LoginViewController.h"

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

    // Override point for customization after application launch.
    self.window.backgroundColor = [UIColor whiteColor];

    LoginViewController *loginVC = [[LoginViewController alloc] initWithNibName:@"LoginViewController" bundle:nil];
    UINavigationController *navigationController = [[UINavigationController alloc]  initWithRootViewController:loginVC];

    self.window.rootViewController = navigationController;
    [self.window makeKeyAndVisible];

    return YES;
}
Run Code Online (Sandbox Code Playgroud)

删除ARC: 转到构建设置 - > Objective-C自动引用计数 - >否


Ket*_*tel 11

创建新项目

![创建新项目]

删除信息中的主故事板文件基本名称

//删除Info中的主要故事板文件基本名称

在appdelegate中添加此代码

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

    // Override point for customization after application launch.
    self.window.backgroundColor = [UIColor whiteColor];

    LoginViewController *loginVC = [[LoginViewController alloc] initWithNibName:@"LoginViewController" bundle:nil];
    UINavigationController *navigationController = [[UINavigationController alloc]  initWithRootViewController:loginVC];

    self.window.rootViewController = navigationController;
    [self.window makeKeyAndVisible];

    return YES;
}
Run Code Online (Sandbox Code Playgroud)

然后自动删除您的故事板.

请尝试这个...成功执行.谢谢


小智 5

ShortCut:我更喜欢

在xcode4中创建没有Storyboard和ARC的项目,然后在xcode5中打开该项目.