我想试着象征我的iPhone应用程序的崩溃报告.
我从iTunes Connect检索了崩溃报告.我有我提交到App Store的应用程序二进制文件,我有作为构建的一部分生成的dSYM文件.
我将所有这些文件放在一个由聚光灯索引的目录中.
现在怎么办?
我试过调用:
symbolicatecrash crashreport.crash myApp.app.dSYM
Run Code Online (Sandbox Code Playgroud)
它只是输出崩溃报告中的相同文本,而不是符号化.
难道我做错了什么?
我有一个关于在Objective-C中编写init方法的一般问题.
我看到它到处都是(Apple的代码,书籍,开源代码等)init方法应该在继续初始化之前检查self = [super init]是否为nil.
init方法的默认Apple模板是:
- (id) init
{
self = [super init];
if (self != nil)
{
// your code here
}
return self;
}
Run Code Online (Sandbox Code Playgroud)
为什么?
我的意思是什么时候初始会返回零?如果我在NSObject上调用init并且没有回来,那么一定要搞砸了,对吗?在那种情况下,你甚至可以不写一个程序......
类'init方法可能返回nil真的很常见吗?如果是这样,在什么情况下,为什么?
我的应用程序中有一个UIWebView,我想用它来显示一个链接到另一个URL的图像.
我正在使用
<img src="image.jpg" /> to load the image.
Run Code Online (Sandbox Code Playgroud)
问题是图像没有加载(即无法找到),即使它已作为资源添加到我的项目中并被复制到包中.
我已经尝试使用NSBundle来获取图像的完整路径并使用它,它仍然没有显示在Web视图中.
有任何想法吗?
在我接受的一个项目中,原作者选择使用objc_setAssociatedObject()
,我不是100%清楚它的作用或为什么决定使用它.
我决定查阅它,不幸的是,文档对其目的并不十分具有描述性.
objc_setAssociatedObject
使用给定的密钥和关联策略为给定对象设置关联值.
void objc_setAssociatedObject(id object, void *key, id value, objc_AssociationPolicy policy)
参数
object
关联的源对象.
key
关联的关键.
value
与对象的键键关联的值.通过nil清除现有关联.
policy
协会的政策.有关可能的值,请参阅"关联对象行为".
那么这个函数究竟做了什么以及在什么情况下应该使用它?
阅读答案后编辑
那么下面的代码有什么意义呢?
Device *device = [self.list objectAtIndex:[indexPath row]];
DeviceViewController *next = [[DeviceViewController alloc] initWithController:self.controller
device:device
item:self.rootVC.selectedItem];
objc_setAssociatedObject(device, &kDeviceControllerKey, next, OBJC_ASSOCIATION_RETAIN);
Run Code Online (Sandbox Code Playgroud)
如果设备已经是实例变量,那么将设备与视图控制器关联起来有什么意义呢?
有没有人确切知道Objective-C中@package指令的用途?
我在Stephen-Cochan编写的Objective-C 2.0编程中唯一提到的是:
@package - 对于64位图像,可以在实现该类的图像中的任何位置访问实例变量
...
什么?这是否仅限于与图像一起使用,如图片中所示?或者它是否意味着像磁盘映像中的图像?
这是一个令人困惑的描述,并没有在本书的其余部分详述....
任何帮助都会很棒,谢谢!
我需要知道我的视图控制器何时会从导航堆栈中弹出,以便我可以执行操作.
我不能使用-viewWillDisappear,因为当视图控制器因任何原因移出屏幕时会被调用(比如新的视图控制器被推到顶部).
我特别需要知道控制器何时即将弹出.
任何想法都会很棒,提前谢谢.
我在视图中有一个UISearchBar,每当我点击它,键盘出现后 -
后 -(BOOL)searchBarShouldBeginEditing:(UISearchBar *)searchBar
它将此发送到控制台:
<错误>
CGContextSetStrokeColorWithColor
::无效的上下文0x0
.这是一个严重的错误.该应用程序或其使用的库正在使用无效的上下文,从而导致系统稳定性和可靠性的整体降低.此通知是礼貌的:请解决此问题.它将成为即将到来的更新中的致命错误.
它重复相同的错误.我想知道究竟是什么问题?
我相信有一个NULL上下文,但它与UISearchBar有什么关系?TNX.
我有一个UITextField
是a的子视图UITableViewCell
.
当我的视图加载时,我希望文本字段成为第一响应者.我有一个指向表格单元格中的文本字段的指针,所以要这样做我正在尝试:
[myTextField becomeFirstResponder];
Run Code Online (Sandbox Code Playgroud)
这会一直返回NO
,无论何时被调用,根据文档意味着文本字段拒绝成为第一响应者...我做错了什么?
编辑:
在textfield
正确地响应被触摸.它然后调出键盘.只有在以becomefirstresponder
编程方式告诉它问题发生时才会这样.
我的界面中有一个UISearchBar,我想自定义输入一些文本后出现在搜索栏中的小清除按钮的行为(它是一个带有十字的小灰色圆圈,出现在右边搜索领域的一面).
基本上,我希望它不仅清除搜索栏的文本(这是默认的实现),而且还要清除我界面中的其他东西,但是调用我自己的方法之一.
我在UISearchBar类或UISearchBarDelegate协议的文档中找不到任何内容 - 看起来您不能直接访问此行为.
我注意到的一件事是文档解释了委托方法:
- (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText;
Run Code Online (Sandbox Code Playgroud)
点击清除按钮后调用.
我最初在该方法中编写了一些代码来检查搜索栏的文本属性,如果它是空的,那么它已被清除并执行我所有其他的东西.
这有两个问题:
首先,由于某些原因我无法理解,即使我在我的方法结束时告诉搜索栏resignFirstResponder,某些东西,某处正在将其设置回到firstFirstResponder.真烦人......
其次,如果用户没有使用清除按钮,并且只是使用键盘上的删除按钮删除栏中的文本,则此方法将被触发,其搜索结果将消失.不好.
任何正确方向的建议或指示都会很棒!
谢谢!
使用 - 声明的方法与使用+声明的方法之间有什么区别
例如
- (void)methodname
+ (void)methodname
Run Code Online (Sandbox Code Playgroud) objective-c ×6
iphone ×5
ios ×4
uikit ×3
cocoa-touch ×2
uisearchbar ×2
cgcontext ×1
cocoa ×1
html ×1
init ×1
null ×1
symbolicate ×1
uitableview ×1
uitextfield ×1
uiwebview ×1