注册 登录
主题 : 在swift 4.0中用系统方法setValuesForKeys()赋值问题
级别: 新手上路
UID: 495091
精华: 0
发帖: 8
可可豆: 35 CB
威望: 35 点
在线时间: 210(时)
注册时间: 2015-08-05
最后登录: 2017-10-17
0 楼:  发表于: 2017-09-27 11:04    发自: Web Page

在swift 4.0中用系统方法setValuesForKeys()赋值问题   

在swift 4.0中使用系统方法setValuesForKeys()进行赋值,明明有这个属性,但它还是走
override func setValue(_ value: Any?, forUndefinedKey key: String)
这个未定义的方法
在swift 4.0以下就可以正常赋值,只有swift 4.0不行,不晓得是什么问题











图片:947311A0-AFE2-46B1-9512-A5B71CDA84C6.png
级别: 新手上路
UID: 495091
精华: 0
发帖: 8
可可豆: 35 CB
威望: 35 点
在线时间: 210(时)
注册时间: 2015-08-05
最后登录: 2017-10-17
1 楼:  发表于: 2017-09-29 17:21    发自: Web Page
已解决
@objc var content = ""
swift 4.0 版本要在前面加@objc
级别: 新手上路
UID: 533339
精华: 0
发帖: 4
可可豆: 4 CB
威望: 4 点
在线时间: 189(时)
注册时间: 2015-12-22
最后登录: 2017-10-21
2 楼:  发表于: 2017-10-03 21:55    发自: Web Page
感谢先驱者
级别: 新手上路
UID: 514941
精华: 0
发帖: 1
可可豆: 1 CB
威望: 1 点
在线时间: 155(时)
注册时间: 2015-10-18
最后登录: 2017-10-13
3 楼:  发表于: 2017-10-11 09:33    发自: Web Page
楼主知道为什么要加吗
级别: 新手上路
UID: 495091
精华: 0
发帖: 8
可可豆: 35 CB
威望: 35 点
在线时间: 210(时)
注册时间: 2015-08-05
最后登录: 2017-10-17
4 楼:  发表于: 2017-10-12 14:00    发自: Web Page
回 3楼(tsc000) 的帖子
在swift3中,编译器自动推断@objc,换句话说,它自动添加@objc
在swift4中,编译器不再自动推断,你必须显式添加@objc
还有一种更简单的方法,不必一个一个属性的添加,下面这种写法
@objcMembers
class Test {

}

级别: 新手上路
状态: 连续签到 - [1天]
UID: 370843
精华: 0
发帖: 2
可可豆: 10 CB
威望: 5 点
在线时间: 18(时)
注册时间: 2014-09-06
最后登录: 2017-11-17
5 楼:  发表于: 2017-10-18 16:39    发自: Web Page
此贴问题延伸,@objc解决了单个属性的问题,但是今天新项目里面一个属性的值是数组字典,用setValuesForKeys()  程序会挂掉,xcode9.0.1提示如下 [__NSCFConstantString count]: unrecognized selector sent to instance 0x102cb3290 求大神指点
级别: 新手上路
状态: 连续签到 - [1天]
UID: 370843
精华: 0
发帖: 2
可可豆: 10 CB
威望: 5 点
在线时间: 18(时)
注册时间: 2014-09-06
最后登录: 2017-11-17
6 楼:  发表于: 2017-10-18 16:52    发自: Web Page
5楼问题已经解决,造成崩溃是因为该字段如果为空 用了空串来占位,造成数据类型不一致而崩溃。这个在swift3中没有问题
级别: 新手上路
状态: 连续签到 - [1天]
UID: 491197
精华: 0
发帖: 13
可可豆: 16 CB
威望: 17 点
在线时间: 210(时)
注册时间: 2015-07-22
最后登录: 2017-12-11
7 楼:  发表于: 2017-11-13 20:02    发自: Web Page
感谢先驱者
级别: 新手上路
状态: 连续签到 - [2天]
UID: 627207
精华: 0
发帖: 1
可可豆: 12 CB
威望: 6 点
在线时间: 10(时)
注册时间: 2017-11-02
最后登录: 2017-11-17
8 楼:  发表于: 2017-11-16 16:22    发自: Web Page
感谢感谢,折腾一上午。
,解析一切正常,一直读不到值,醉了,原来是存储失败
级别: 侠客
状态: 连续签到 - [5天]
UID: 550138
精华: 0
发帖: 104
可可豆: 324 CB
威望: 314 点
在线时间: 271(时)
注册时间: 2016-03-14
最后登录: 2017-12-15
9 楼:  发表于: 2017-12-08 17:09    发自: Web Page
问下,如果是Int型的还是走的forUndefinedKey异常抛出,Int型的属性怎么写?
描述
快速回复

关注本帖(如果有新回复会站内信通知您)

发帖、回帖都会得到可观的积分奖励。查看论坛积分规则

按"Ctrl+Enter"直接提交
    顶部