小编zum*_*zum的帖子

将JSON对象存储在HTML jQuery中的data属性中

我正在使用data-HTML标记中的方法存储数据,如下所示:

<td><"button class='delete' data-imagename='"+results[i].name+"'>Delete"</button></td>
Run Code Online (Sandbox Code Playgroud)

然后我在回调中检索数据,如下所示:

$(this).data('imagename');
Run Code Online (Sandbox Code Playgroud)

这很好.我坚持的是试图保存对象而不仅仅是其中一个属性.我试着这样做:

<td><button class='delete' data-image='"+results[i]+"'>Delete</button></td>
Run Code Online (Sandbox Code Playgroud)

然后我尝试访问name属性,如下所示:

var imageObj = $(this).data('image');
console.log('Image name: '+imageObj.name);
Run Code Online (Sandbox Code Playgroud)

日志告诉我undefined.所以看起来我可以在data-属性中存储简单的字符串,但我无法存储JSON对象......

我也试过使用这个语法孩子没有运气:

<div data-foobar='{"foo":"bar"}'></div>
Run Code Online (Sandbox Code Playgroud)

有关如何使用该data-方法在HTML标记中存储实际对象的任何想法?

html jquery json

125
推荐指数
7
解决办法
23万
查看次数

ARC中的NSString到CFStringRef和CFStringRef到NSString?

我试图了解NSStringCFStringRefARC 获得一个正确的方法?同为去相反的方向,CFStringRefNSString在ARC?

在不造成内存泄漏的情况下执行此操作的正确方法是什么?

objective-c nsstring automatic-ref-counting toll-free-bridging

80
推荐指数
1
解决办法
4万
查看次数

iOS 11禁用密码自动填充附件查看选项?

截至目前,我想选择退出iOS 11提供的新选项,即在应用程序中建议密码.当我在iOS 11上运行应用程序时,我在键盘顶部获得了自动填充选项,我的用户名和密码文本字段甚至都没有出现.

所以,我的问题是,如何一起禁用新密码自动填充功能,以便键盘上的键完全不显示,整体行为与iOS 11之前的相同?

在此输入图像描述

ios swift ios11

72
推荐指数
8
解决办法
2万
查看次数

什么是Xcode"没有这样的文件或目录错误"?

Xcode不断提示告诉我项目中没有某个图像,当我尝试构建时它出错.如果我删除了.png Xcode从项目中抱怨,为什么Xcode在我尝试构建时出错?

[由大黄编辑(评论太大了)]

我对这些细节也有同样的看法.复制命令如下所示

CpResource MyIcons/../13-bicycle.png /Users/Me/Library/Developer/Xcode/DerivedData/MyProject-cxsohyxdecdbptgrrtaixbhhixrj/Build/Products/Debug-iphonesimulator/MyProject.app/13-bicycle.png
Run Code Online (Sandbox Code Playgroud)

然后有一堆SETENV和命令被转换为"内置拷贝"但没有的事项,结果是我编译时出现此错误:

错误:/Users/Me/Development/MyProject/MyIcons/../13-bicycle.png:没有这样的文件或目录

现在,我按照Robert Harvey的建议打开了Copy Bundle Resources选项卡,我的.png就在那里,没有任何内容出现在阅读中.它位于文件系统(Finder)和Project Navigator中.所以我使用 - 按钮从资源中删除了它,并使用Copy Bundle Resources选项卡中列表左下角的+按钮手动添加它.这把它放在导航器项目的根目录中,所以我再次将它移到我的组中 - 但没有运气,同样的错误.所以我完全删除了它(从Project Navigator中删除它,允许它被移动到Trash).这很有用,但是我遇到了与下一个图标相同的错误(它一次只报告一两个).

查看错误消息,似乎认为MyIcons是一个文件夹.它不是,它只是一个群体.没有这样的文件夹,我可以在文件系统中看到.

当我通过拖放添加,我离开了"复制项目到...组文件夹(如果需要)"检查和"创建组任何添加的文件夹"选项按钮.但请注意,我只将图标(整体)拖动到现有组中; 我没有拖动任何文件夹,也没有创建任何组或文件夹.但不知何故,编译器认为这些资源位于文件系统中不存在的文件夹中.

我右键单击复制资源列表中的图标并尝试在Finder中显示并在Project Navigator中显示:两者都工作 - 文件在那里,它知道从哪里获取它 - 直到它构建.

我还没有找到除了删除图标之外的解决方法 - 清洁不起作用.我认为我的小组已经损坏了.

xcode

41
推荐指数
3
解决办法
6万
查看次数

Swift,演员:演员隔离的属性“扫描”不能从非隔离的上下文中改变

我有一个演员:

actor StatesActor {

    var job1sActive:Bool = false
    ...

}
Run Code Online (Sandbox Code Playgroud)

我有一个使用该演员的对象:

class MyObj {
    
    let myStates = StatesActor()
    
    func job1() async {
    
        myStates.job1IsActive = true

    }
}
Run Code Online (Sandbox Code Playgroud)

线:

myStates.job1IsActive = true

出现以下错误:

演员隔离属性“job1IsActive”无法从非隔离上下文中发生突变

如何使用 actor 正确存储/读取状态信息,以便 MyObj 可以使用它来读取和设置状态?

actor swift swift-concurrency

39
推荐指数
2
解决办法
3万
查看次数

来自MKPolyline的纬度和经度点

我试图找出一种方法来获取iOS应用程序上MKMapView上绘制的MKPolyline的所有纬度和经度点.

我知道MKPolyline不存储纬度和经度点,但我正在寻找一种方法来构建一个lat和long数组,MKPolyline会在地图上触摸.

有人在这方面有具体的解决方案吗?

谢谢

编辑:看到第一个响应(谢谢)后,我想我需要更好地解释我的代码在做什么:

  1. 首先,我在MKDirections对象上调用" calculateDirectionsWithCompletionHandler "
  2. 我找回了具有" 折线 "属性的MKRoute对象.
  3. 然后我在mapview上调用" addOverlay " 从MKRoute对象传递折线

就这样.

所以,我已经为我建了一条折线.所以我想以某种方式得到折线中找到的所有点并将它们映射到纬度和长度......

mkmapview ios mkpolyline

30
推荐指数
2
解决办法
8197
查看次数

Swift:确定哪个对象叫做函数?

我正在编写一些Swift代码,我想知道调用该函数的对象的类.我不想传递任何参数.从函数中我想知道是谁调用它.

有什么建议吗?

swift

28
推荐指数
3
解决办法
1万
查看次数

Subclass.fetchRequest()Swift 3.0,扩展不是真的帮助100%?

根据新的Core Data变化,Xcode为我生成了这个子类:

extension Person {

    @nonobjc public class func fetchRequest() -> NSFetchRequest<Person> {
        return NSFetchRequest<Person>(entityName: "Person");
    }

    @NSManaged public var name: String?

}
Run Code Online (Sandbox Code Playgroud)

然后在代码中我期待这一行工作:

let fr = Person.fetchRequest()
Run Code Online (Sandbox Code Playgroud)

但是上面这行代码给出了一个错误:

"Ambiguous use of 'fetchRequest'
Run Code Online (Sandbox Code Playgroud)

这解决了这个问题:

let fr: NSFetchRequest<Person> = Person.fetchRequest()
Run Code Online (Sandbox Code Playgroud)

那么,我很困惑的是:

NSFetchRequest<Person>
Run Code Online (Sandbox Code Playgroud)

在里面:

@nonobjc public class func fetchRequest() -> NSFetchRequest<Person> {
Run Code Online (Sandbox Code Playgroud)

返回类型在做什么?

不应该返回类型允许我不必指定:

NSFetchRequest<Person>
Run Code Online (Sandbox Code Playgroud)

在let定义??

let fr: NSFetchRequest<Person> = Person.fetchRequest()
Run Code Online (Sandbox Code Playgroud)

任何人都可以帮助我理解它为什么需要它,即使它已经是返回类型的一部分了吗?

core-data swift

28
推荐指数
2
解决办法
4730
查看次数

如何在swift应用程序中获取keyWindow引用?

在UIViewController的viewDidLoad方法中的Objective-C中,我这样做是为了在我的iOS应用程序中获取keyWindow引用:

 UIWindow * keyWindow = [[UIApplication sharedApplication] keyWindow];
Run Code Online (Sandbox Code Playgroud)

所以,我将这个视图控制器移植到Swift中,我在viewDidLoad调用中执行此操作:

let window = UIApplication.sharedApplication().keyWindow
Run Code Online (Sandbox Code Playgroud)

我试图理解为什么窗口是零.当我在该行之后放置一个断点时,然后在控制台中检查窗口,我得到了这个:

(lldb) po window
nil
Run Code Online (Sandbox Code Playgroud)

如何让窗口成为​​swift中我的应用程序的keyWindow的有效引用?

ios swift

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

Fastlane:将设备添加到配置的正确方法?

我正在使用fastlane来处理配置.

这就是我做的:

match nuke development 
match nuke distribution
Run Code Online (Sandbox Code Playgroud)

然后在一个通道中,我为每个bundleId提供了这个我需要提供的内容:

match(type: "development", app_identifier: "com.myCompany.myApp", force_for_new_devices: true)
Run Code Online (Sandbox Code Playgroud)

当我想下载配置时,我有一个执行此操作的通道:

match(type: "development", app_identifier: "com.myCompany.myApp", readonly: true)
Run Code Online (Sandbox Code Playgroud)

所有这些让我可以在nuke时门户网站上的设备上工作和构建.

如果要添加设备,如何正确更新配置?

我试过这个:

match development --force_for_new_devices true -a com.myCompany.myApp
Run Code Online (Sandbox Code Playgroud)

这是行不通的.

我收到此错误:

Provisioning profile '82afbd5b-9f19-4c78-b3ac-56a3565ce3f2' is not available on the Developer Portal
Run Code Online (Sandbox Code Playgroud)

每次我必须添加一个设备时唯一有效的方法是核对一切并重新开始.

什么是添加设备而不必核武器的正确方法?

我正在使用xcode8,我禁用了fastlane建议的自动配置.

ios fastlane

19
推荐指数
3
解决办法
8584
查看次数