首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >以编程方式创建的视图崩溃

以编程方式创建的视图崩溃
EN

Stack Overflow用户
提问于 2012-05-15 17:13:18
回答 1查看 83关注 0票数 0

患者:两个控制器-- ViewController和(以模态方式呈现的) RecorderViewController症状:在以模态方式呈现RecorderViewController之后,它会做一些工作。在被关闭后,该程序与EXC_BAD_ACCESS一起崩溃

在AppDelegate.m中:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@synthesize window = _window;
@synthesize controller = _controller;

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:    (NSDictionary *)launchOptions
{
    // Override point for customization after application launch.
    self.controller = [ViewController alloc];

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

    return YES;
}

在ViewController.m中

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#import "ViewController.h"
#import "RecorderViewController.h"

@interface ViewController ()

@end

@implementation ViewController

@synthesize presentModalButton;

- (void)loadView 
{
    self.view = [[UIView alloc] initWithFrame:[UIScreen mainScreen].applicationFrame];

    self.presentModalButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
    self.presentModalButton.frame = CGRectMake(0, self.view.frame.size.height/2, 100, 50);
    [self.presentModalButton addTarget:self action:@selector(goToRecorderButtonPressed:) forControlEvents:UIControlEventTouchUpInside];

    [self.view addSubview:self.presentModalButton];

}

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
}

- (IBAction)goToRecorderButtonPressed:(id)sender {
    RecorderViewController *recorderVC = [RecorderViewController alloc];
    [self presentModalViewController:recorderVC animated:YES];
}

- (void)viewDidUnload
{
    [super viewDidUnload];
    // Release any retained subviews of the main view.
    self.presentModalButton = nil;
}

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown);
}

@end

在返回UIApplicationMain:#import时在main.m中崩溃

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#import "AppDelegate.h"

int main(int argc, char *argv[])
{
    @autoreleasepool {
        return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
    }
}
EN

回答 1

Stack Overflow用户

发布于 2012-05-15 17:21:47

我认为goToRecorderButtonPressed方法有问题。

看,您正在为recorderVC分配内存,但不要初始化它。您应该使用一个可用方法初始化对象,例如,init

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
- (IBAction)goToRecorderButtonPressed:(id)sender {
    RecorderViewController *recorderVC = [[RecorderViewController alloc] init];
    [self presentModalViewController:recorderVC animated:YES];
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10605676

复制
相关文章
以编程方式创建Vue.js组件实例
最近参与了一个Vue.js项目,项目中需要能够以编程方式创建组件。通过编程,意思是使用JavaScript创建和插入组件,而无需在模板中编写任何内容。
前端知否
2020/03/23
7.9K3
SAP Fiori的ABAP编程模型-CDS视图创建
让我们开始为我们的应用程序创建数据模型。通常,最佳做法是创建一个Package并封装将由CDS视图创建的数据模型。
matinal
2021/12/06
1K0
SAP Fiori的ABAP编程模型-CDS视图创建
SAP Fiori的ABAP编程模型-CDS视图创建
让我们开始为我们的应用程序创建数据模型。通常,最佳做法是创建一个Package并封装将由CDS视图创建的数据模型。
matinal
2020/11/24
9910
SAP Fiori的ABAP编程模型-CDS视图创建
View视图的创建
在撸代码的过程中经常遇到创建 View 视图,创建视图有四种方式,但是这四种创建方式到底有什么不同呢?以前只知道能创建,但是不是这四种创建方式的区别,今天让我们一起去解析一下这几种创建方式。
CatEatFish
2020/07/09
1K0
View视图的创建
以编程方式执行Spark SQL查询的两种实现方式
摘 要 在自定义的程序中编写Spark SQL查询程序 1.通过反射推断Schema package com.itunic.sql import org.apache.spark.sql.SQLContext import org.apache.spark.{SparkConf, SparkContext} /**   * Created by itunic.com on 2017/1/2.   * Spark SQL   * 通过反射推断Schema   * by me:   * 我本沉默是关注互联
天策
2018/06/22
2K0
mysql创建索引视图_mysql中创建视图、索引[通俗易懂]
视图中的数据依赖于原来表中的数据,一旦表中数据发生改变,显示在视图中的数据也会发生改变。
全栈程序员站长
2022/09/16
7.7K0
SQL语句创建视图:
定义: 根据用户的各种需求重新构造表的数据结构,这种数据结构就是视图. 视图是从一张或多张表中导出来的表,它不是真实存在的基本表,而是一张虚表,并没有像基本表一样存储在数据库中,而是相当于一个查询结果集合保存一样.
初阶牛
2023/02/25
1.5K0
SQL语句创建视图:
以 React 的方式思考
React 很棒的一点是创建应用中引导你思考的过程。这篇文档中,我们将通过运用React创建一个产品搜索列表,来引导你熟悉这个思考过程。
fanzhh
2019/08/20
3.5K0
以 React 的方式思考
WordPress二次开发之以类的方式创建插件
为插件创建类主要是规范,避免与其他插件的方法重名,方便调用 定义插件类 以上一篇文章编写的插件为例 class my_change_font_style{ } 在构造方法调用HOOK function __construct(){ //创建菜单 add_action('admin_menu',array($this,'my_create_menu')); } 这里以字符串调用方法的方式与之前不同 array($this,'方法名称') 调用
切图仔
2022/09/14
3810
WordPress二次开发之以类的方式创建插件
PL/SQL编程—视图
create or replace view test_view as select TestA.id, TestB.idno, TestB.name, TestB.sex from TestB left join TestA on TestB.idno=TestA.id;
翎野君
2023/05/12
1680
PL/SQL编程—视图
MySQL/Oracle视图的创建与使用
视图是一个虚拟的表,是一个表中的数据经过某种筛选后的显示方式,视图由一个预定义的查询select语句组成。
互联网金融打杂
2018/08/02
1.4K0
MySQL视图的创建与使用
视图是MySQL的一种虚拟表,实际的表我们可以看到每一行的数据,而视图是另一种形式的表,他可以将任何的查询结果变成一种虚拟的表方便下一次进行查询。
大猫的Java笔记
2020/09/30
2.2K0
创建局部模型视图
当模型中的表数量过多,导致关联变得复杂,不利于用户分析和理解表关系,而旧版Power BI中只提供这一种模型全局视图。
公众号PowerBI大师
2019/09/30
1K0
创建局部模型视图
如何创建CDS视图
今天继续聊S/4 HANA的CDS视图,上一篇我们简单介绍了一下CDS视图的几个聚合函数,如果你还没来得及看,请翻阅《简单介绍几个CDS视图聚合函数》。
matinal
2020/11/27
2.5K0
如何创建CDS视图
Java并发编程(01):线程的创建方式,状态周期管理
进程是计算机中的程序,关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。在早期面向进程设计的计算机结构中,进程是程序的基本执行实体;在面向线程设计的计算机结构中,进程是线程的容器。程序是指令、数据及其组织形式的描述,进程是程序的实体。
知了一笑
2020/03/11
4740
现在,以编程方式在 Electron 中上传文件,是非常简单的!
本文主要探讨了在 Electron 应用中如何实现上传文件到服务器的功能,同时通过本地代理服务器来获取完整的cookie。首先介绍了在 Electron 应用中如何通过 XHR 上传文件到服务器,然后介绍了如何通过 LocalStorage 将文件保存在本地。最后,本文介绍了一种使用 Electron 创建本地代理服务器,从而获取完整的cookie的方法。
ios122
2017/12/27
5.2K0
现在,以编程方式在 Electron 中上传文件,是非常简单的!
sqlserver 视图创建索引_Oracle创建索引
1、添加索引 create index 索引对象名 on 索引对应表名(表内索引对象字段名); 例:需创建包含userid属性的userinfo表。 create index userid on system.userinfo(userid);
全栈程序员站长
2022/10/04
1.3K0
利用动态SQL创建视图
本站文章除注明转载/出处外,均为本站原创,转载前请务必署名,转载请标明出处
overme
2022/01/18
1.4K0
利用动态SQL创建视图
关于创建视图的问题(48天)
今天开发碰到一个问题,说创建视图的时候老是提示没有权限。 SQL> create view test_view as select *from customer; create view test_view as select *from customer * ERROR at line 1: ORA-01031: insufficient privileges 第一反应是这个schema没有create view的权限。 查询发现有
jeanron100
2018/03/13
8690
让你的Python程序在用户面前以小概率崩溃
有些软件在大部分情况下都能正常工作,而有时候则会莫名其妙的崩溃。当然这有可能是因为代码没有写好或没有考虑一些特殊情况,也有可能是系统本身就是这么设计的,目的是要求用户付费,这样的做法虽然不太好,但是也完全可以理解,毕竟软件公司和程序员也要生存。据说(请注意,是据说,不一定是真的)有些病毒本身就是某些杀软公司出品的,目的是卖自己的杀毒软件。 下面的代码模拟了这样的事情,在大部分情况下都能正常工作,而以非常小的概率让程序崩溃并提示用户付费来享受更好的体验。 import random import time d
Python小屋屋主
2018/04/16
7070
让你的Python程序在用户面前以小概率崩溃

相似问题

以编程方式创建视图

13

以编程方式创建视图

10

以编程方式创建视图

10

以编程方式创建视图

21

以编程方式创建多个视图

31
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

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

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文