我正在尝试使用AWS Lambda Python(Python btw中的初学者)启动并运行,但在包含MySQL依赖项方面存在一些问题.我试图按照指示在这里我的Mac上.
对于第3步,我在项目的根目录下执行命令会遇到一些问题
sudo pip install MySQL-python -t /
Run Code Online (Sandbox Code Playgroud)
错误:
例外:回溯(最近一次调用最后一次):文件"/Library/Python/2.7/site-packages/pip-1.5.6-py2.7.egg/pip/basecommand.py",第122行,处于主状态= self .run(options,args)在运行os.path中的文件"/Library/Python/2.7/site-packages/pip-1.5.6-py2.7.egg/pip/commands/install.py",第311行. join(options.target_dir,item)文件"/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py",第292行,移动引发错误,"目标路径"%s '已存在'%real_dst错误:目标路径'/MySQL_python-1.2.5-py2.7.egg-info/MySQL_python-1.2.5-py2.7.egg-info'已存在
我最终编写了以下lambda函数(在我的Mac上运行正常),这是:
import MySQLdb
def lambda_handler(event, context):
# Open database connection
db = MySQLdb.connect(...)
# prepare a cursor object using cursor() method
cursor = db.cursor()
sql = "SELECT * FROM Users"
try:
# Execute the SQL command
cursor.execute(sql)
# Fetch all the rows in a list of lists.
results = cursor.fetchall()
for row in results:
fname = row[0]
lname = row[1]
age …Run Code Online (Sandbox Code Playgroud) 让我们说我有这个NSString:@"Country Address Tel:number".如何获取之前的子字符串Tel?(国家地址)然后我该如何获取后面的子字符串Tel?(数)
我正在使用FPPopover类为iPhones创建弹出窗口.我按照自述文件中的确切步骤,但不是使用xib文件中的UI按钮,而是使用以编程方式创建的UIBarButtonItem.但是,我收到以下错误:
因未捕获的异常'NSInvalidArgumentException'而终止应用程序,原因:' - [UIBarButtonItem superview]:无法识别的选择器发送到实例0x6a3e420'
我复制粘贴了自述文件中的相同代码,但我刚刚用(id)发送者更改了(UIButton*)okButton(这里的ID是UIBarButtonItem*)
-(void)popover:(id)sender
{
//the view controller you want to present as popover
TestClass *controller = [[TestClass alloc] init];
//our popover
FPPopoverController *popover = [[FPPopoverController alloc] initWithViewController:controller];
//the popover will be presented from the okButton view
[popover presentPopoverFromView:sender];
//release
[controller release];
}
Run Code Online (Sandbox Code Playgroud)
我想也许它与UIBarButtonItem有关,它不是UIButton?还是别的什么?我尝试将UIBarButtonItem转换为UIButton,但仍然给了我同样的错误.有什么解决方案吗?
还有一点需要注意:这是我以编程方式创建导航栏和条形按钮的方式:
UINavigationBar *navBar = [[UINavigationBar alloc] initWithFrame:CGRectMake(320, 0, 320, 44)];
UINavigationItem *navItem = [[UINavigationItem alloc] initWithTitle:@"By Clubs"];
[navBar pushNavigationItem:navItem animated:NO];
UIBarButtonItem *editButton = [[UIBarButtonItem alloc] initWithTitle:@"Filter"
style:UIBarButtonItemStyleBordered
target:self
action:@selector(popover:)];
navItem.rightBarButtonItem = …Run Code Online (Sandbox Code Playgroud) 我正在使用新prefetchDataSource的UITableView(也可以应用于UICollectionView.我遇到的问题如下:
我正在实施func tableView(_ tableView: UITableView, prefetchRowsAt indexPaths: [IndexPath])哪个工作得很好.
我使用的array是以15个元素开头的.所以numberOfRowsInSection最初将返回array.count15.
我想要的是prefetchRowsAt函数告诉我当我们从行中运行时,以便从我自己的源获取新数据,将这些数据附加到array然后reloadData(),这将反过来增加numberOfRowsInSection.
prefetchRowsAt不会超出第15行,因为它受到numberOfRowsInSection我指定的限制.基本上,我卡住了.基本上,当我在第5行时,我希望它告诉我开始预取第16行.我尝试和工作的一个解决方案是将计数numberOfRowsInSection增加到100,然后在我获取新数据时放置占位符单元格.但滚动条看起来太小,因为它预计有100个项目,所以UX不会那么好.
也许我在第3步中使用的模式是错误的(附加到数组和reloadData)?或者你能想到另一个更清洁的问题解决方案吗?
提前致谢!
这似乎应该很容易完成.我不知道为什么我似乎无法找到一个简单的答案.
我正在创建一个具有pod依赖项的pod库.
所以在我.podspec,我有一个s.dependency 'SomePod', '~> 1.0'.由于我正在编写我的库SomePod,我想从中获取源文件以便导入并使用它.当然,一种方法是在repo中安装PodFile然后pod安装SomePod.
但是有没有其他方法来下载somePod依赖项,以便我可以在我的库中使用它?拥有干净结构的最佳做法是什么?
仅供参考,我正在使用Cookie Cutter库来生成我的所有项目结构.剩下的就是下载那些podspec依赖项并避免使用Podfile和pod安装,因为我已经有了一个从Cookie Cutter生成的.xcworkspace,因此pod安装不会那样,会发疯.
我不确定这可以做到,或者甚至不推荐.
我想要实现的目标如下:
我有一个2类,classA并且classB引用了同一个UITableview实例.我想要的是负责协议classA的2个必要方法的实现UITableViewDataSource:
numberOfRowsInSectioncellForRowAt 然后我希望classB能够实现其他可选方法titleForHeaderInSection,例如.
那么如何才能classA有一些协议方法的默认实现,让我们classB成为一个可以在classB已经完成的基础上构建的类?
在某种程度上,我面临的问题如下:多个类如何成为单个数据源UITableView?
编辑:
classA将在我正在编写的库中,负责构建tableView的核心部分.classB将由第三方开发人员用于主要定制其外观.
我刚刚学习了如何使用 NSXMLPARSER 在 Xcode 中解析数据。
为了做到这一点,显然,我需要 xml 文件,但我仍然是 Web 编程的初学者。
我在从网页获取 xml 文件时遇到困难。我尝试使用某些软件将 html 转换为 xml,但仍然没有得到我想要的格式。
我想要的格式应该类似于:
<?xml version="1.0" encoding="UTF-8"?>
<Books>
<Book id="1">
<title>Circumference</title>
<author>Nicholas Nicastro</author>
<summary>Eratosthenes and the Ancient Quest to Measure the Globe.</summary>
</Book>
<Book id="2">
<title>Copernicus Secret</title>
<author>Jack Repcheck</author>
<summary>How the scientific revolution began</summary>
</Book>
</Books>
Run Code Online (Sandbox Code Playgroud)
那么如何从网页中获取这样的格式呢?
还有一件事:如果有人知道使用 Xcode 的 NSXMLPARSER,这是从网站提取数据的方法吗?我的意思是获取一个 xml 文件,将其放入我们项目的资源中,然后从中提取数据?
我使用crashlytics来解决AppStore中应用程序的崩溃问题.有些用户正在崩溃,我似乎无法在我的机器上重现(也没有几个朋友通过TestFlight测试我的应用程序).这是来自Fabric的日志:
Thread : Crashed: com.apple.main-thread
0 libobjc.A.dylib 0x181d09bdc objc_msgSend + 28
1 Foundation 0x18304be20 __NSThreadPerformPerform + 340
2 CoreFoundation 0x182640efc __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 24
3 CoreFoundation 0x182640990 __CFRunLoopDoSources0 + 540
4 CoreFoundation 0x18263e690 __CFRunLoopRun + 724
5 CoreFoundation 0x18256d680 CFRunLoopRunSpecific + 384
6 GraphicsServices 0x183a7c088 GSEventRunModal + 180
7 UIKit 0x1873e4d90 UIApplicationMain + 204
8 <App Name> 0x1000b2f0c main (AppDelegate.swift:14)
9 libdispatch.dylib 0x18210e8b8 (Missing)
Run Code Online (Sandbox Code Playgroud)
我似乎无法理解这意味着什么,并搜索其他问题寻求帮助,但似乎无法找到答案.我也很快联系了Crashlytics团队,他们告诉我以下内容:
听起来这次崩溃的根源是某种内存崩溃.这导致Crashlytics在完成写入之前关闭,从而导致崩溃报告中出现这种情况.
有什么好的方法来调试这个以确定崩溃的来源?感谢帮助!
编辑:
在崩溃报告的崩溃报告中添加了线程的屏幕截图,以防有人想从那里获得一些信息:

Thread : com.apple.NSURLConnectionLoader
0 libsystem_kernel.dylib 0x1823354bc mach_msg_trap + 8
1 libsystem_kernel.dylib 0x182335338 …Run Code Online (Sandbox Code Playgroud) 我正在Swift中构建一个库,它必须支持Objective-C.
我已经检查了这个答案,建议在Objective-C中编写库,但是给我的要求是在Swift中编写库.我以源代码形式提供库,因此在我的情况下不应该适用那些关于不稳定ABI的论点(反对在Swift中编写库).
所以我听说为了使这个Swift库适用于Objective-C,我将不得不避免使用Swift中的Objective-C中没有的高级功能.这些例子是:
NSObject所以我的两个问题是:
我很感激这里的所有帮助.
我希望得到几个地点之间的旅行距离和时间的近似值.
理想情况下,我希望能够发送位置的GPS坐标,使用OpenStreetMap的数据,并获得具有给定位置的距离矩阵作为输出,所有这些都将在我的AWS服务器上离线完成.(使用PHP或C++会很好)
我真的很擅长使用OpenStreetMap.我刚刚下载了ile-de-france.osm.pbf,这是法国某个地区的地图.
我不知道从哪里开始.我甚至不确定这样做是否简单.谁能指出我正确的方向?如果OpenStreetMap不是使距离矩阵离线的最佳解决方案,那么它是什么?
当我在标准MVC项目中运行此代码时,所有工作正常:我可以以编程方式将操作发送到UISlider。
override func viewDidLoad() {
super.viewDidLoad()
slider = UISlider(frame: CGRect(x: 100, y: 100, width: 200, height: 50))
slider.minimumValue = 1
slider.maximumValue = 100
slider.addTarget(self, action: #selector(sliderTouch), for: .touchUpInside)
slider.sendActions(for: .touchUpInside)
}
func sliderTouch(sender: UISlider) {
print("value: \(sender.value)")
}
Run Code Online (Sandbox Code Playgroud)
现在由于某种原因,当我想在UT中模拟Slider行为时,它不起作用。这是代码:
func testSlider() {
let slider = UISlider(frame: CGRect(x: 100, y: 100, width: 200, height: 50))
slider.minimumValue = 1
slider.maximumValue = 100
slider.addTarget(self, action: #selector(sliderTouch), for: .touchUpInside)
slider.sendActions(for: .touchUpInside)
}
func sliderTouch(sender: UISlider) {
print("value: \(sender.value)")
}
Run Code Online (Sandbox Code Playgroud)
sliderTouch()在UT情况下永远不会调用它,根据我的理解,sendActions不是asnyc,应该直接调用操作方法。
那么,为什么会出现这种行为,又该如何解决呢? …
如果我有UISearchController,有什么区别:
searchController.searchResultsUpdater = self
public func updateSearchResults(for searchController: UISearchController) {
guard let searchText = searchController.searchBar.text else { return }
// Use searchText
}
Run Code Online (Sandbox Code Playgroud)
和
searchController.searchBar.delegate = self
public func searchBar(_ searchBar: UISearchBar, textDidChange searchText: String) {
// /Use searchText
}
Run Code Online (Sandbox Code Playgroud) ios ×9
swift ×7
objective-c ×4
xcode ×3
iphone ×2
uitableview ×2
aws-lambda ×1
c++ ×1
cocoapods ×1
crash ×1
crashlytics ×1
html ×1
map ×1
matrix ×1
mysql ×1
nsxmlparser ×1
php ×1
prefetch ×1
protocols ×1
python ×1
python-2.7 ×1
search ×1
unit-testing ×1
xctest ×1
xml ×1