ios中在创建了一个target,写extension的时候,主文件本来用的OC语言,想要换成Swift语言,会报如下错误,而且extension运行不起来,
默认 13:47:27.970240+0800 testExtension *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[__NSDictionaryM setObject:forKey:]: object cannot be nil (key: 1EF75ACC-0A1F-454A-A080-2B8C93B0F6BC)'
*** First throw call stack:
(0x21eb1927c 0x21dcf39f8 0x21ea92ce8 0x21ea07b18 0x21f536ed4 0x21f536744 0x21e558a38 0x21e5597d4 0x21e502320 0x21e502e3c 0x21e50b4a8 0x21e739114 0x21e73bcd4)
打开extension的info.plist,其中打开NSExtension,有一项名为`NSExtensionPrincipalClass`的,后面的值为自己写的主文件名称,在前面加上:`$(PRODUCT_NAME).`,我用的是,改为如下内容:
$(PRODUCT_NAME).PacketTunnelProvider
参考
:
https://www.jianshu.com/p/41a757a22e7e
IOS
开发
OC
代码中创建
Swift
编写的视图控制器
近日在和一群朋友做项目,我和另一位同学负责
iOS
客户端,我是一直使用
OC
的,而他只会
Swift
,因此在我们分工协作之后,就需要把代码合在一起,这就牵扯到如何在TabbarController中添加一个
swift
创建的子控制器的问题。
首先在一个
OC
项目中新建一个
Swift
类,继承自UITableViewController,并且修改其view背景色,方便后续测试。
import UIKit
class ES
Swift
TableViewTestVc: UITableViewController {
override func
在做帧动画demo
时
遇到以下异常
Terminating app due to uncaught
exception
‘
NS
Invalid
Argument
Exception
’,
reas
on: ‘* -[__
NS
ArrayM
i
ns
ertObject:atIndex:]: object cannot be
nil
’
异常代码- (
NS
Array*)loadAllImagesWithi
非法参数异常(
NS
Invalid
Argument
Exception
)是 Objective -C 代码最常出现的错误,所以平
时
在写代码的
时
候,需要多加注意,加强对参数的检查,避免传入非法参数导致异常,其中尤以
nil
参数为甚。
今天
ios
程序运行
报错
:Terminating app due to uncaught
exception
‘
NS
Invalid
Argument
Exception
’,
reas
on: ‘-[ViewController1 aries:]: unrecognized selector sent to i
ns
tance 0x1756f5f0’。一开始以为是自己的协议写错了,后面发现原来是给控件的点击事件
今天偶然间发现程序每次都报
*** Terminating app due to uncaught
exception
‘
NS
Invalid
Argument
Exception
’,
reas
on: ‘data parameter is
nil
’***
的错误。似乎是
NS
Data的问题,用排除法分析了一下,原来是
NS
JSO
NS
erializat
ion
使用没注意。我的程序会在每次启动的
时
候通
Terminating app due to uncaught
exception
'
NS
Invalid
Argument
Exception
',
reas
on: '*** setObjectForKey: object cannot be
nil
(key: 0)'
我这里原因是创建font的
时
候使用了没有的字体.
换成 PingFang HK 就可以了
注意:如果是
swift
的话,会报归档错误,log输出不会这么明显。因为
swift
要打包成
oc
执行的好像,
swift
懂得少一点。。
extens
ion
可以做什么:
Add computed i
ns
tance properties and computed type properties (添加计算型实例属性和计算型类型属性)
Define i
ns
tance methods and type methods (定义实例方法和类型方法)
Provide new initialize...