- html - 我的下拉菜单的内容关闭得太快
- c# - 使用 Html Agility Pack 从网页中的表中获取值而不使用 "SelectNode'
- html - 内容容器下的 CSS 下拉菜单
- html - 如何停止嵌套列表重叠父列表?
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。
想改进这个问题?更新问题,使其成为 on-topic对于堆栈溢出。
7年前关闭。
Improve this question
我正在尝试掌握 XCode5,但大多数代码示例都是 XCode5 之前的。当然还有 iOS7 之前的版本。主要问题是 Storyboard。很多人想知道如何在没有 Storyboard 的情况下在 SCode5 中构建 - 但我不知道如何将预 Storyboard 代码移动到 Storyboard 代码。
例如。最优秀的书“iOS 中的地理定位”Alasdair Allan,O'Reilly,2012 年,其中充满了几个版本前编写的代码。当然,当我在 XCode5/iOS7 级别进入 XCode 时,我不知道他们在各个部分都在谈论什么。
我有点让示例代码开始工作,但现在它抛出了一个错误,我无法弄清楚。我怀疑是因为它试图以 Code4 的方式进行操作,而我在 XCode5 中。
无论如何 - 一个很好的教程,指出一个变化。
让我举个例子:
书中第一个例子的代码是这样的。
在书中的 Project Navigator 图像中,它显示
LocationAppDelegate.h
LocationAppDelegate.m
LocationViewController.h
LocationViewController.
LocationViewController.xib
LocationViewController.m:15:17: Method 'tableView:cellForRowAtIndexPath:' in protocol not implemented
LocationViewController.m:60:9: No visible @interface for 'UITableView' declares the selector 'dequeueReusableCellWithIndentifier:'
//
// LocationViewController.h
// Location
//
// Created by Robert Chalmers on 08/10/2013.
// Copyright (c) 2013 Robert Chalmers. All rights reserved.
//
#import <UIKit/UIKit.h>
@interface LocationViewController : UIViewController <UITableViewDelegate, UITableViewDataSource>
@property (strong, nonatomic) IBOutlet UITableView *tableView;
@end
//
// LocationViewController.m
// Location
//
// Created by Robert Chalmers on 08/10/2013.
// Copyright (c) 2013 Robert Chalmers. All rights reserved.
//
#import "LocationViewController.h"
@interface LocationViewController ()
@end
@implementation LocationViewController
@synthesize tableView = _tableView;
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
#pragma mark - View lifecycle
#pragma mark UITableViewDelegate Methods
- (void)tableView:(UITableView *)tv
didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
//add code here
}
#pragma mark UITableViewDataSource Methods
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tv {
return 1;
}
- (NSInteger) tableView:(UITableView *)tv numberOfRowsInSection:(NSInteger)section {
return 5;
}
- (UITableViewCell *)tableView:(UITableView *)tv cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *identifier = @"cell";
UITableViewCell *cell =
//[tv dequeueReusableCellWithIndentifier:@"cell"];
[tv dequeueReusableCellWithIndentifier:@"cell"];
if (cell == nil ) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault
reuseIdentifier:identifier];
cell.accessoryType = UITableViewCellAccessoryNone;
return cell;
}
}
@end
//
// LocationAppDelegate.h
// Location
//
// Created by Robert Chalmers on 08/10/2013.
// Copyright (c) 2013 Robert Chalmers. All rights reserved.
//
#import <UIKit/UIKit.h>
@class viewController;
@interface LocationAppDelegate : UIResponder <UIApplicationDelegate, CLLocationManagerDelegate>
@property (strong, nonatomic) UIWindow *window;
@property (strong, nonatomic) viewController *viewController;
@property (strong, nonatomic) CLLocationManager *locationManager;
@end
============
//
// LocationAppDelegate.m
// Location
//
// Created by Robert Chalmers on 08/10/2013.
// Copyright (c) 2013 Robert Chalmers. All rights reserved.
//
#import "LocationAppDelegate.h"
#import "LocationViewController.h"
@implementation LocationAppDelegate
@synthesize window = _window;
@synthesize viewController = _viewController;
@synthesize locationManager = _locationManager;
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
if ([CLLocationManager locationServicesEnabled]) {
self.locationManager = [[CLLocationManager alloc] init];
self.locationManager.delegate = self;
self.locationManager.distanceFilter = 1000;
[self.locationManager startUpdatingLocation];
}
return YES;
}
- (void)applicationWillResignActive:(UIApplication *)application
{
// Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
// Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game.
}
- (void)applicationDidEnterBackground:(UIApplication *)application
{
// Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.
// If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
}
- (void)applicationWillEnterForeground:(UIApplication *)application
{
// Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background.
}
- (void)applicationDidBecomeActive:(UIApplication *)application
{
// Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
}
- (void)applicationWillTerminate:(UIApplication *)application
{
// Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
}
- (void)locationManager:(CLLocationManager *)manager
didUpdateToLocation:(CLLocation *)newLocation
fromLocation:(CLLocation *)oldLocation {
NSLog(@"Location: %@", [newLocation description]);
}
- (void)locationManager:(CLLocationManager *)manager
didFailWithError:(NSError *)error {
NSLog(@"Error: %@", [error description]);
}
@end
最佳答案
我想你应该看看 this修复 xcode 5 Storyboard错误。
关于错误,您应该尝试:
[tv dequeueReusableCellWithIdentifier:@"cell" forIndexPath:indexPath];
[tv dequeueReusableCellWithIndentifier:@"cell"];
关于iphone - 寻找关于将 Pre-Storyboard 代码 (XCode4) 移动到 Storyboard 代码 (XCode5) 的教程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19268840/
我在 iOS 项目中创建了一个新目标并添加了一些我的文件以及一个新的 Storyboard文件。但是当在模拟器中运行时(我还没有尝试过该设备)它会吐在 UIApplicationMain(argc,
The document "Storyboard.storyboard" could not be opened. Could not read archive. Please use a newer
我的 .travis.yml 文件: language: objective-c script: xctool -project ProjectName. xcodeproj -scheme
我正在使用 Storyboard,因为我有一个定制的表格。我需要在单元格内的标签上显示值。我尝试为它创建一个 IBOutlet,但它似乎不接受它,它给了我一个错误消息,“连接“xyz”不能将原型(pr
Xcode 6 界面生成器默认有新的复选框“使用大小类别”。它使 View 具有适应性。 当我尝试在 Storyboard中的两个 View 之间进行连接时,我有新的选择: 代替旧的: 现在我们有“s
我在新的 xcode beta 版本中打开我的项目时犯了一个错误 现在我无法用稳定版本打开它,因为 The document “Main.storyboard” requires at least X
如果我有一个已经使用 Storyboard 的 Xcode 项目,现在我想切换到以编程方式加载 View Controller ,我该怎么做? 最佳答案 这是一个in-depth article关于这
[错误]:**构建失败** [错误]:以下构建命令失败: [错误]:编译Storyboard LaunchScreen.storyboard [错误]:(1 次失败) 如何解决这个问题?它不会在 io
我试图找到一种方法来处理多个目标(从一个项目部署多个应用程序),我不知道如何定义UIColor并在 Storyboard 中使用它(我可以为UIImage做得很好)。我的想法是使用宏根据目标切换此颜色
我有一个在 Xcode 5.1 中构建的带有 2 个 Storyboard的项目。 当我在 Xcode 6 中打开其中任何一个时,我收到此错误。他们从未在任何测试版中打开过,所以我认为这不是 Xcod
我想将 StoryBoard 添加到以编程方式制作的项目中,是否可以这样做。 最佳答案 是的,您可以向 Xcode 项目添加新的 Storyboard。我正在分享以下屏幕截图,请检查: 您可以为该 S
我将几个配置文件分成多个 Storyboard以尝试帮助我减少卡住时间,因为我听说许多 Storyboard可能是 Xcode 有时会“卡住”长达 10 分钟的原因,有时会导致我的流程崩溃工作的。所以
我是 iOS 开发新手,我知道这是一个非常简单的问题,但我真的无法理解原因。 当我构建 SingleViewApplication 时,Xcode 自动生成 LaunchScreen.storyboa
为什么 Storyboard.SetTargetName 有效而 Storyboard.SetTarget 无效?这里 xaml -
我使用的是 Xcode 7.1,我正在使用 Storyboard 引用转到不同的 Storyboard 。问题是每次我运行模拟器时,都会出现一个错误,提示 “没有找到从 Main.storyboard
因此,我开始在XCode 4.3.2中使用 Storyboard 。我从Master-Detail应用程序(iPad的拆分 View 应用程序)开始。在详细信息 View (名为DetailVC)中,
我想在我的应用程序中加载辅助 StoryboardTest.storyboard(在Main.storyboard旁边),如下所示: let storyboard = UIStoryboard(nam
我在 main.storyboard 的 View Controller 中有一个 label1我在 Storyboard的 View Controller 中有另一个名为 Second.storyb
这是我在尝试启动主 Storyboard时看到的内容,并且 launchscreen.storyboard 也遇到同样的问题。 当我尝试访问 main.storyboard 时,我看到的是 XML 代
我有情节提要,其中假设Controller1有按钮 当我们按下按钮时,它应该移至下一个控制器,但是我无法访问它。能告诉我如何访问第二个Storybaord,其中一个名为Profile的TabbarCo
我是一名优秀的程序员,十分优秀!