小编Mid*_* MP的帖子

在UITextView上按下链接时应用程序崩溃

我在我的iOS应用程序中遇到了一个奇怪的错误,它只发生在设备中.在我的应用程序中,我有一个主页,如果用户按下按钮,我将显示一个FormSheet(关于我们页面).

let storyBoard = UIStoryboard(name: "Utility", bundle: nil);
let aboutUsVC  = storyBoard.instantiateViewControllerWithIdentifier("AboutUs") as! AboutUsViewController;
aboutUsVC.modalPresentationStyle = .FormSheet;
aboutUsVC.preferredContentSize   = CGSize(width: 500,height: 400);
self.presentViewController(aboutUsVC, animated: true, completion: nil);
Run Code Online (Sandbox Code Playgroud)

我在我们页面中放置了一个UITextView,并添加了一个链接,因为它的内容: 文本视图中的链接

问题1

当我长按该链接时,我在控制台上收到一条警告消息:

已经呈现的<_UIRotatingAlertController:0x13e107200>

问题2

长按后如果再次点击链接,应用程序崩溃并显示以下消息:

2016-03-16 18:11:37.022 MyApp [938:400786]***断言失败 - [UITextView startInteractionWithLinkAtPoint:],/ BuildRoot/Library/Caches/com.apple.xbs/Source/UIKit/UIKit-3512.29. 5/UITextView_LinkInteraction.m:377

2016-03-16 18:11:37.023 MyApp [938:400786]***由于未捕获的异常'NSInternalInconsistencyException'终止应用程序,原因:''***首先抛出调用堆栈:(0x184220f48 0x198e47f80 0x184220e18 0x185114a1c 0x18a12de50 0x189d38be4 0x189d2f330 0x189958b5c 0x1897e685c 0x189d3070c 0x1897a58b8 0x1897a263c 0x1841d7bd0 0x1841d5974 0x1841d5da4 0x184104ca0 0x18f184088 0x18981cffc 0x100188368 0x19968a8b8)libc ++ abi.dylib:以NSException类型的未捕获异常终止

我认为UIKit造成了这次崩溃.我该如何修复这次崩溃?

更多信息:

  1. 基础SDK:9.2
  2. 部署目标:8.1
  3. Xcode版本:7.2.1
  4. iOS设备操作系统版本:9.1

uitextview ios swift

6
推荐指数
1
解决办法
2231
查看次数

为什么我需要将自己投射到身份证?

我有一个带有(id)参数的init方法:


    -(id) initWithObject:(id) obj;
Run Code Online (Sandbox Code Playgroud)

我试着像这样称呼它:


    [[MyClass alloc] initWithObject:self];
Run Code Online (Sandbox Code Playgroud)

但是XCode抱怨该参数是一个"不同的Objective-C类型"(通常表示类型不匹配或间接错误的级别).

如果我明确地将自己转换为(id)警告就会消失.在任何一种情况下,代码都按预期运行.有趣的是,在下一行我将自己传递给另一个也带有id的方法,并且工作正常.

我想知道我是否遗漏了一些微妙的东西 - 或者它是编译器的特性?

直到我确定为什么必要的原因,我才完全放心.

[编辑]

我被要求提供更多代码.不确定还有其他相关的东西.这是我打电话的实际代码.请注意,它本身就是一个init方法.这是initWithSource给出警告的呼吁:


-(id) initWithFrame:(CGRect) frame
{
    self = [super initWithFrame: frame];
    if( self )
    {
        delegate = nil;
        touchDelegate = [[TBCTouchDelegate alloc] initWithSource:self];
        [touchDelegate.viewWasTappedEvent addTarget: self action:@selector(viewWasTapped:)];
    }
    return self;
}
Run Code Online (Sandbox Code Playgroud)

这是调用的init方法:


-(id) initWithSource:(id) sourceObject
{
    self = [super init];
    if (self != nil) 
    {
        // Uninteresting initialisation snipped
    }
    return self;
}
Run Code Online (Sandbox Code Playgroud)

casting initialization objective-c

5
推荐指数
1
解决办法
2482
查看次数

SQL drop table并重新创建并保留数据

在我们的原始设计中,我们搞砸了表中的外键约束.现在表中充满了数据,我们无法在不删除表中的所有记录的情况下更改它.我能想到的唯一解决方案是创建一个备份表并将所有记录放在那里,然后删除所有记录,更改表并开始添加它们.还有其他(更好)的想法吗?谢谢!

使用MS SQL Server

sql sql-server foreign-keys sql-drop

5
推荐指数
3
解决办法
4万
查看次数

如何在C中将十六进制字符串转换为二进制字符串

我有一个十六进制值的文本文件.现在我需要将十六进制值转换为二进制,并需要将其保存在另一个文件中.但我不知道如何将十六进制值转换为二进制字符串!请帮忙...

c binary hex

5
推荐指数
2
解决办法
6万
查看次数

MySQL使用DATETIME字段中的DATE返回今天的记录

我有一个名为"actions"的表,其中包含一个名为"occurrence"的DATETIME列.我正在尝试通过执行以下操作返回今天的记录

SELECT * FROM `actions` WHERE `occurred` = DATE(NOW());
Run Code Online (Sandbox Code Playgroud)

但我得到一个空的结果集.如果我把这个WHERE条款拿出来,我可以看到表格中的所有295行,并且今天至少有30行.稍后我将编写另一个查询来返回今天的日期和过去的X天数之间的所有记录,但在我到达那里之前,我需要知道为什么这个查询返回一个空的结果集.

提前致谢.

mysql sql datetime date where

5
推荐指数
2
解决办法
9514
查看次数

UITableview配件类型在滚动时消失

我做了一个tableView,我需要选择多个选项.选项被选中,但是当我滚动表格视图时,复选标记选项消失,其他一些行显示该复选标记.这是我在代码didselectedrowAtindex的方法table_optionUITableViewselectedcellsNSMutableArray

[table_option deselectRowAtIndexPath:indexPath animated:YES];
NSNumber *rowNsNum = [NSNumber numberWithUnsignedInt:indexPath.row];
if ( [selectedCells containsObject:rowNsNum]  )
{
    if (cell.accessoryType == UITableViewCellAccessoryCheckmark) 
        cell.accessoryType = UITableViewCellAccessoryNone;
    else 
        cell.accessoryType = UITableViewCellAccessoryCheckmark;



    [selectedCells removeObject:rowNsNum];
    sel.text=@"Select";
   // cell.accessoryType = UITableViewCellAccessoryNone;

}
    else 
{
    if (cell.accessoryType == UITableViewCellAccessoryCheckmark) 
        cell.accessoryType = UITableViewCellAccessoryNone;
    else 
        cell.accessoryType = UITableViewCellAccessoryCheckmark;

    [selectedCells addObject:rowNsNum];
   sel.text=@"Selected";
   // cell.accessoryType = UITableViewCellAccessoryCheckmark;

}



[table_option reloadData];
Run Code Online (Sandbox Code Playgroud)

请尽快帮忙

xcode uitableview ios

5
推荐指数
1
解决办法
3386
查看次数

在将第三方库添加到iPhone应用程序时,如何设置"标题搜索路径"的路径

我想在我的项目中添加第三方库Speech-To-TextXcode.我只是xcodeproj在我的iPhone项目中拖动文件.然后我按照Target Dependencies,Link Binary和库之类的步骤进行操作,并设置Header Search路径.但是我对如何正确设置Header搜索路径感到困惑.然后我导入#import SpeechToTextModule.h'那个时候我得到错误就像SpeechToTextModule.h 找不到文件.请帮助我.

提前致谢!!!

iphone objective-c ios xcode4.2

5
推荐指数
1
解决办法
2万
查看次数

如何在PostgreSQL中删除多个具有外键的表?

我知道删除多个表的语法是:

DROP TABLE foo, bar, baz;
Run Code Online (Sandbox Code Playgroud)

但在我的情况下,3个表之间有外键和其他表不被删除.

  • 表1:外键来自表2,表3,数据库中还有3个表.
  • 表2:Forign键从表3中,在数据库中还有2个表.
  • 表3:Forign键来自数据库中的另外3个表.

那么如何删除这3张桌子呢?他们在表格中有数据.上面的语法会忽略外键吗?数据库中的其他表不应存在任何数据不一致.

sql postgresql sql-drop

5
推荐指数
1
解决办法
8056
查看次数

kivy iOS部署错误

我正试图在我的kivy应用程序中使用龙卷风.在Linux和Mac上它工作正常,但在iOS龙卷风上没有导入.

2013-07-21 16:50:11.862 application[818:907] [Springtomize]: Loading into sb-external process

2013-07-21 16:50:12.868 application[818:907] PythonHome is: /var/mobile/Applications/B621455C-94BF-4AA7-97A3-B051F090C68A/application.app

2013-07-21 16:50:12.873 application[818:907] Initializing python

2013-07-21 16:50:13.232 application[818:907] Running main.pyo: /var/mobile/Applications/B621455C-94BF-4AA7-97A3-B051F090C68A/application.app/YourApp/main.pyo

[INFO              ] Kivy v1.7.1

[INFO              ] [Factory     ] 144 symbols loaded

[DEBUG             ] [Cache       ] register <kv.lang> with limit=None, timeout=Nones

[DEBUG             ] [Cache       ] register <kv.image> with limit=None, timeout=60s

[DEBUG             ] [Cache       ] register <kv.atlas> with limit=None, timeout=Nones

[DEBUG             ] [Image       ] option <dds> ignored by config

[DEBUG             ] [Image       ] option <pygame> ignored …
Run Code Online (Sandbox Code Playgroud)

python ios kivy

5
推荐指数
1
解决办法
759
查看次数

在一个查询中删除 Postgresql 9.3 中的普通视图或物化视图

I\xe2\x80\x99在我的 PostgreSQL 中有一个视图,它可以是正常的也可以是具体化的,具体取决于某些情况。我正在尝试编写一个查询,该查询肯定会删除视图,并且无论它目前的类型是什么,都不会出现错误。然而,这似乎并不容易。当我尝试使用以下代码时,出现错误:

\n\n
DROP VIEW IF EXISTS {{ schema }}.{{ viewName }};\nDROP MATERIALIZED VIEW IF EXISTS {{ schema }}.{{ viewName }};\n
Run Code Online (Sandbox Code Playgroud)\n\n

\xc2\xa0

\n\n
SQLSTATE[42809]: Wrong object type: 7 ERROR:  "{{ viewName }}" is not a view  \nHINT:  Use DROP MATERIALIZED VIEW to remove a materialized view.    \n
Run Code Online (Sandbox Code Playgroud)\n\n

因此,当视图具体化时,\xe2\x80\x98IF EXISTS\xe2\x80\x99 在第一行结果为 true,DROP 命令启动,但由于视图类型错误而失败(这是不正常的) 。谁能提出一种既适用于物化视图又适用于普通视图的通用解决方法?

\n

postgresql materialized-views sql-drop

5
推荐指数
1
解决办法
6662
查看次数