首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >访问错误- iPhone Xcode 4

访问错误- iPhone Xcode 4
EN

Stack Overflow用户
提问于 2011-09-03 02:22:41
回答 4查看 1.2K关注 0票数 0

我是Xcode和Objective-C的初学者,我想在没有nib文件的情况下用代码制作一个视图控制器,并按照我想要的方式来塑造它。目前,使用这个非常简单的代码,我甚至不能因为EXC_BAD_ACCESS而改变背景颜色。

我在网上读到它是关于内存管理的,但是我似乎找不到解决这个问题的方法。我的代码片段:

AppDelegate.h

代码语言:javascript
运行
AI代码解释
复制
#import <UIKit/UIKit.h>
#import "DefaultViewController.h"

@class DefaultViewController;

@interface AppDelegate : NSObject <UIApplicationDelegate> {
    UIWindow *window;
    UIViewController *rootViewController;
}

@property (nonatomic, retain) IBOutlet UIWindow *window;
@property (nonatomic, retain) IBOutlet UIViewController *rootViewController;

@end

AppDelegate.m

代码语言:javascript
运行
AI代码解释
复制
@synthesize window = _window;
@synthesize rootViewController = _rootViewController;

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    UIViewController *rvc = [[DefaultViewController alloc] init];
    self.rootViewController = rvc;
    [rvc release];

    [self.window addSubview:self.rootViewController.view];

    // Override point for customization after application launch.
    [self.window makeKeyAndVisible];
    return YES;
}

- (void)dealloc
{
    [_window release];
    [_rootViewController release];
    [super dealloc];
}

我制作的视图控制器,右击->新文件和没有xib的UIViewController子类!在loadView中,我只尝试这样做:

代码语言:javascript
运行
AI代码解释
复制
self.view.backgroundColor = [UIColor redColor];
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-09-03 02:32:33

问题可能是rootViewController没有初始化的视图。很难说,因为你没有显示DefaultViewController的代码。这也可能是DefaultViewController中的另一个错误。

FWIW,你有两个过时的ivar:

代码语言:javascript
运行
AI代码解释
复制
@interface AppDelegate : NSObject <UIApplicationDelegate> {
    UIWindow *window;
    UIViewController *rootViewController;
}

你可以删除它们,因为你合成了_window_rootViewController,从来没有使用过上面的代码。

票数 1
EN

Stack Overflow用户

发布于 2011-09-03 04:18:02

你的代码有一些问题。但首先,获取EXC_BAD_ACCESS的关键问题是因为您在loadView中调用self.view.backgroundColor。如果重写loadView,则必须在方法内部构造视图层次结构。通过不使用该方法创建视图层次结构,您将在一个不存在的视图上调用backgroundColor。相反,完全删除loadView方法或将其注释掉并将self.view.backgroundColor移到viewDidLoad方法中。(请记住,即使是一个空的loadView方法也会有问题,您需要将其移除或注释掉)

第二..。将代码更改为

代码语言:javascript
运行
AI代码解释
复制
self.rootViewController = rvc; to self.window.rootViewController = rvc;

顺便说一句,一旦你添加了一个视图控制器,你就不需要再次将rootViewController的视图作为子视图添加到窗口中。将视图控制器分配给rootViewController属性会将视图控制器的视图安装为窗口的内容视图。

第三。在初始化DefaultViewController时,您需要

代码语言:javascript
运行
AI代码解释
复制
UIViewController *rvc = [[DefaultViewController alloc] init];

不要那样做,要这样做

代码语言:javascript
运行
AI代码解释
复制
DefaultViewController *rvc = [[DefaultViewController alloc] init];
票数 1
EN

Stack Overflow用户

发布于 2011-09-03 02:33:53

更改代码,使其成为

代码语言:javascript
运行
AI代码解释
复制
self.window.rootViewController = rvc;
[self.window makeKeyAndVisible];
return YES;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7290754

复制
相关文章
iOS11、iPhone X、Xcode9 适配
1. 升级后,发现某个拥有tableView的界面错乱,组间距和contentInset错乱,因为iOS11中 UIViewController 的 automaticallyAdjustsScrollViewInsets 属性被废弃了,因此当tableView超出安全区域时,系统自动会调整SafeAreaInsets值,进而影响adjustedContentInset值
用户2554571
2019/07/02
4900
4Easysoft iPhone Cleaner for mac(iPhone清理软件)
4Easysoft iPhone Cleaner 是一款专为 iPhone 设计的清理工具,可以清理 iPhone 中的无用文件、缓存、Cookie 等,释放存储空间,提高 iPhone 的运行速度和性能。
Mac小小心
2023/04/26
6930
4Easysoft iPhone Cleaner for mac(iPhone清理软件)
4Easysoft iPhone Cleaner for mac(iPhone清理软件)
4Easysoft iPhone Cleaner 是一款专为 iPhone 设计的清理工具,可以清理 iPhone 中的无用文件、缓存、Cookie 等,释放存储空间,提高 iPhone 的运行速度和性能。
皮西歪
2023/04/26
5190
4Easysoft iPhone Cleaner for mac(iPhone清理软件)
如何解决Xcode中的SIGABRT错误
一分钟,您的iOS应用程序可以在Xcode中正常运行,而下一分钟,它由于不可思议的SIGABRT错误而崩溃了。这是怎么回事!?
全栈程序员站长
2022/08/01
6.2K0
如何解决Xcode中的SIGABRT错误
写个自己的Xcode4插件
刚写iOS程序的时候就知道Xcode支持第三方插件,比如ColorSense等很实用的插件,但Xcode的插件开发没有官方的文档支持,一直觉得很神秘,那今天就来揭开它的面纱。
JoeyBlue
2021/09/07
3200
Xcode 4.3.2 (4E2002)错误提示Storyboards are unavailable on iOS 4.3 and prior的解决方法
今天尝试用Xcode建立基于5.0+的Storyboards的项目时发现了一个小bug:
forrestlin
2022/04/02
2940
Xcode10发布 Pod lint错误
我猜想是不是基于 Xcode10最新的编译系统导致的,幸亏保留了 Xcode9.4.1的包,安装切换为 Xcode9.4.1.验证成功
君赏
2018/12/25
5190
Xcode 调出4s模拟器
现在默认是没有4s以下的模拟器的,原因是 iPhone 4 系统最高升到7 iPhone4s也不支持10.2。现在Xcode最低提供8.1固件,所以还是可以调出iPhone4s模拟器。
星宇大前端
2019/01/15
6230
Xcode11打包 IPA processing failed错误
是因为包中的库带有i386,x86_86這两个架构,而iOS13之后打包不支持该两个架构
freesan44
2021/10/12
4330
This iPhone is running iOS 12.2(16E227),which may be supported by this version of Xcode
不想跟新Xcode的情况下: 1.下载Xcode真机运行支持包(16E227), 链接: https://pan.baidu.com/s/1Y-HXL4rpwS3MKcvpxz-Y3w 提取码: v3sq
honey缘木鱼
2019/05/17
8670
This iPhone  is running iOS 12.2(16E227),which may be supported by this version of Xcode
iPhone4s完美越狱_苹果4越狱工具
通常我们所说iPhone激活成功教程实际上包含了很多内容在里面,激活成功教程的目的有很多,例如使用第三方软件,可以打电话,可以使用YouTube等等,其最终目的是可以实现所有的功能。
全栈程序员站长
2022/11/05
8880
iphone4装android,iPhone4可安装Android实现双系统启动.pdf
iPhone 4 可安装 Android 实现双系统启动iPhone 4 可安装 Android 实现双系统启动 苹果的 iOS 以其封闭性而著称 相比 Android 这种开放性系统 iOS 很难移植到其他设备上 不过 Android 就已经成功的入侵到 iPhone 手机之中 使用 iPhoDroid 工具就可以很容易的将 iPhone 变成一部 iOS 和 Android 双系统启动设备 近日这款工具再次进行升级 对安装步骤进行了大幅度优化并抛弃了电 脑的支持 用户只需操作手机就可以完成整个过程 目前 iPhoDroid 支持的机型有安装 3 1 2 和 3 1 3 的 iPhone 以及 3 1 2 以上系统的 iPhone 3G 手 机必须使用 PwnageTool 红雪 黑雨越狱工具完成越狱 首先需要在Cydia中添加http repo neonkoala co uk链接 然后寻找并安装Bootlace 成功安装之 后会看到桌面上出现Bootlace图标 打开Bootlace然后安装OpeniBoot 打开之后点击iDroid并进行安装 在iDroid安装完成之后 iPhone 就可以成为一部双启动手机 用户可以使用电源键或 Bootlace 应用选择重启手机 然后点击 QuickBoot 按钮 选择 Android 图标即可进入 Android 系统 安装视频教程 安装视频教程 iPhone 2G 3G 安装 AndroidiPhone 2G 3G 安装 Android 2 22 2 这是一篇翻译的文章 我是第一次看到可以在iphone 或者ipod touch上安装android系统 但是google一 下 发现很多 图文教程 但是这篇文章介绍的方法和目前的不太一样 那就是不需要连接电脑 而是 直接通过你的掌上设备的Cydia来安装 所以还是介绍一下 E文好的直接看原文原文 也许在你的 iphone 2G 3G 当然 老的 ipod touch 也是可以的 上安装 android 系统的方式是通过之前 介绍过的 iPhoDroid 但问题是你需要电脑来完成整个安装的过程 但是感谢 Bootlace 2 1 的出现 现在 你不需要连接任何 PC 或者 MAC 也可以在你的 iphone 2G 3G 上安装 Android 2 2 1 Froyo 了 准备工作 首先 需要注意的是 Bootlace 2 1 仅仅适用于以下版本的 iOS 1 iPhone 2G 上的 iOS 3 1 2 和 3 1 3 2 iPhone 3G 上的 iOS 3 1 2 3 1 3 4 0 4 0 1 4 0 2 和 4 1 其次 Bootlace 2 1 支持的越狱工具有 PwnageTool Redsn0w Blackra1n 如果你满足以上的条件 那么就可以使用下面的方法进行安装 否则 不要轻易尝试 安装方法
全栈程序员站长
2022/09/18
1.2K0
http2.0非法头部导致iphone访问白屏
1、最初的协议版本是HTTP1.0,不支持长连接,导致每个请求都需要建立单独的TCP连接。对于小文件来说,每次请求进行TCP建连的时间占整个文件响应时间的比重较大,即该协议版本对小文件的访问效率影响较大。
mengmye
2020/11/27
2.6K1
Windows 监控 iPhone 上的 HTTP 访问记录
有些测试场景需要知道在真实实体手机上访问我们开发的页面时产生了哪些不同的请求、访问了哪些链接。这个事情在 Windows 上做起来很简单,工具也有很多。浏览器自带的监控工具、HttpWatch 等工具都可以实现,今天介绍的主角 charles-proxy 也可以实现,但是 charles-proxy 强大的地方在于它可以建立一个临时代理服务器,手机上设置使用这个代理即可在 charles-proxy 中查看所有的浏览记录。
我与梦想有个约会
2020/01/04
1.2K0
Eclipse配置Tomcat,访问404错误
我从官网上面下载的tomcat6,直接启动发现正常使用,但是在Eclipse绑定后启动,访问localhost:8080,本来应该是tomcat的主页,但是却报了404错误。   百度搜索了一下,
用户1154259
2018/01/17
1.5K0
Eclipse配置Tomcat,访问404错误
nginx 访问.php文件正常,访问.html文件500错误
Nginx遇上Access Denied提示怎么解决 这几天在摆弄linux下面的各种服务器,对nginx非常有兴趣。
友儿
2022/09/11
1.7K0
UE4 开发之配置 Xcode 调试环境
在上篇文章中,我与大家分享了如何在 UE4 里实现按钮事件响应的过程,应该来说如果跟着我的步骤操作下来,实现按钮事件响应还是很简单的,但是 UE4 开发对于新手来说还是有很多不友好的地方,基本上就是一个不断填坑的过程。
HelloWorld杰少
2022/08/04
1.8K0
UE4 开发之配置 Xcode 调试环境
配置Nginx访问与错误日志
Nginx是一个开放源代码的高性能HTTP和反向代理服务器,负责处理Internet上某些最大站点的负载。在管理NGINX网络服务器时,你要执行的最常见任务之一就是检查日志文件。 在对服务器或应用程序问题进行故障排除时,知道如何配置和读取日志非常有用,因为它们提供了详细的调试信息。 Nginx用两种类型的日志记录其事件:访问日志和错误日志。访问日志记录有关客户端请求的信息,错误日志记录有关服务器和应用程序问题的信息。 本教程概述了如何配置和读取Nginx访问和错误日志。配置Nginx访问日志的格式与位置,配
入门笔记
2022/06/02
9620
【IOS】IOS开发问题解决方法索引(四)
证书问题,project与target的调试证书都必须是开发者证书,ADHOC的证书会出现此问题。
江中散人_Jun
2022/03/08
1.2K0
【IOS】IOS开发问题解决方法索引(四)
苹果4代电池容量_iPhone4s电池
大家好,又见面了,我是你们的朋友全栈君。 苹果4代电池不耐用iphone论坛!入手IPHONE必看! 2011年05月14日   苹果4代电池不耐用iphone论坛!入手IPHONE必看!发表于 2011 年 04 月 30 日 由 admin iphone论坛!入手iphone必看!   1./private/var/mobile新刷完的机器,要在这个文件夹下建一个documents的目次,许多程序都要用到。   2./private/var/mobile/applications通过appstore和itunes安装的程序都在里面。   3./private/var/stash这个文件夹下的applications目次里面是所有通过cydia和app安装的程序,ringtones目次里是所有的手机铃音,便宜铃音直接拷在里面即可,themes目次里是所有winterboard主题,可以手工修改。   4./var/mobile/media/roms/gba gpsphone模拟器存放rom的目次。   5./var/mobile/media/textreader textreader看书软件读取的电子书的存放路径。(我这里修正了原帖说明上的错误)   6./applications/wedictpro.app或/applications/wedict.app(wedict目次,wedict字典放在该目次下,职权范围644不变)   7./system/library/fonts/cache(体系字体目次,要替换的字体放在该目次下,职权范围644不变)   8./private/var/mobile/media/maps(离线舆图目次,把舆图文件夹放到该目次下,文件夹赋予777职权范围)   9./private/var/mobile/library/downloads(ipa文件存放目次,把下载来的ipa文件放到此目次下,用installous安装,后文会讲到)   10./private/var/mobile/library/keyboard(体系拼音字库文件位置)   11./var/stash/themes.xxxxxx(winterboard主题文件存放路径)   12./private/var/mobile/media/dcim/999apple(体系自带截屏文件存放路径,截屏方法:按住power并迅速按一下home键)   13./private/var/mobile/media/wikipedia/(wiki百科文件夹存放路径)   14./system/library/frameworks/uikit.framework和/system/library/privateframeworks/appsupport.framework(这两个都是电话号头显示规则文件存放路径)   15:/private/var/mobile/library/addressbook(这个是电话本的存放路径)   16:/private/var/mobile/library/sms(这个是短信的存放路径)   17:/private/var/mobile/library/notes(这个是记事本的存放路径)   完美解决iphone的划痕   我想,广大疯友在小i的外壳上最大的烦末路就是不停增长的细小划痕是吧,有的tx说用牙膏,呵呵,那个不行的,是能够减小划痕,但是呢,会使小i的违壳看上去就没那么亮了哦。通过我的试验,终于找到方法可以让小i的违壳的细小划痕消掉,而且不会使小i的光亮度减小哦。   方法如下:   起首是工具:1、买小i时赠予的擦机布或者麂皮,其他的布料会引起划痕。二、这是关键,就是3m镜面蜡!这是个好东西哦!   操作步骤:1、少量3m镜面蜡涂在小i违壳上。二、用擦机布使劲往返擦。3、这步也关键,当蜡变干以后,逐步减小手的力量,轻轻迅速往返擦。   注重事项:擦的时候力道要使在手指头的手肚上,不要用指甲使劲哦,不然会孕育发生新的划痕!   大家去试试吧,不会让你掉望的!   3m镜面蜡在汽车使容貌美丽店就可以找到哦。   此方法同样适用于air jacket等透明保护壳。我已经试验过的,大家放心的去做吧!还小i一个崭新的面容!(太深的划痕不起作用!不过我想太深的划痕是否可以先用3m粗蜡擦,然后细蜡擦,最后再用镜面蜡,或者不用粗蜡,因为粗蜡确实太粗了。我没试验过,划痕多且深且愿意试的同学可试一下。)   看贴记得回帖哦。   教你节省iphone的运行内存   iphone,在激活成功教程或多装了一些应用程序后,都存在反应慢、很卡或者无故退出等问题。这都是因为运行内存不足造成的,下面的教程可以解决这个问题。   1.起首我们需要安装bossprefs
全栈程序员站长
2022/11/05
3230

相似问题

Xcode 4和越狱iPhone

20

使用Xcode 6、iPhone 6和iPhone 4s生成错误

13

Xcode 4和"SIGABRT“错误?(只适用于iphone )

41

通用iPad/iPhone XIBs Xcode 4

62

Xcode iPhone 4/5屏幕尺寸

24
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文