Основываясь на вкладе «Эда Байята», вот полезный класс для создания документа CSV:
/// <summary>
/// helpful class to build csv document
/// </summary>
public class CsvBuilder
{
/// <summary>
/// create the csv builder
/// </summary>
public CsvBuilder(char csvSeparator)
{
m_csvSeparator = csvSeparator;
}
/// <summary>
/// append a cell
/// </summary>
public void appendCell(string strCellValue)
{
if (m_nCurrentColumnIndex > 0) m_strBuilder.Append(m_csvSeparator);
bool mustQuote = (strCellValue.Contains(m_csvSeparator)
|| strCellValue.Contains('\"')
|| strCellValue.Contains('\r')
|| strCellValue.Contains('\n'));
if (mustQuote)
{
m_strBuilder.Append('\"');
foreach (char nextChar in strCellValue)
{
m_strBuilder.Append(nextChar);
if (nextChar == '"') m_strBuilder.Append('\"');
}
m_strBuilder.Append('\"');
}
else
{
m_strBuilder.Append(strCellValue);
}
m_nCurrentColumnIndex++;
}
/// <summary>
/// end of line, new line
/// </summary>
public void appendNewLine()
{
m_strBuilder.Append(Environment.NewLine);
m_nCurrentColumnIndex = 0;
}
/// <summary>
/// Create the CSV file
/// </summary>
/// <param name="path"></param>
public void save(string path )
{
File.WriteAllText(path, ToString());
}
public override string ToString()
{
return m_strBuilder.ToString();
}
private StringBuilder m_strBuilder = new StringBuilder();
private char m_csvSeparator;
private int m_nCurrentColumnIndex = 0;
}
Как его использовать:
void exportAsCsv( string strFileName )
{
CsvBuilder csvStringBuilder = new CsvBuilder(';');
csvStringBuilder.appendCell("#Header col 1 : Name");
csvStringBuilder.appendCell("col 2 : Value");
csvStringBuilder.appendNewLine();
foreach (Data data in m_dataSet)
{
csvStringBuilder.appendCell(data.getName());
csvStringBuilder.appendCell(data.getValue());
csvStringBuilder.appendNewLine();
}
csvStringBuilder.save(strFileName);
}
Я бы не был уверен, что это образ системы. Многие изображения / кнопки в приложениях Apple относятся только к этому приложению, и похоже, что это именно так.
Я создал свое собственное изображение, и Apple приняла его (в отличие от использования изображения для поиска для масштабирования).
(предупреждение: Недокументированная функция , будет отклонена AppStore, Blah Blah Blah)
Кнопка местоположения может быть доступна с
UIBarButtonItem* item = [[UIBarButtonItem alloc]
initWithBarButtonSystemItem:100
target:... action:...];
, если вы просто хотите Изображение, сохранить результат, возвращенный
UIImage* img = [UIImage kitImageNamed:@"UIButtonBarLocate.png"];
http://glyphish.com/ Иконка Библиотека имеет кнопку location.
UIImage* img = [UIImage kitImageNamed:@"UIButtonBarLocate.png"];
// Get the location of the Documents directory
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) ;
NSString *imagePath = [paths objectAtIndex:0] ;
NSString *filename = @"test.png" ;
NSString *filepath = [NSString stringWithFormat:@"%@/%@", imagePath, filename] ;
// Save the image
NSData *imageData = [NSData dataWithData:UIImagePNGRepresentation(img)];
[imageData writeToFile:filepath atomically:YES];
используйте этот образец кода, чтобы сохранить его как файл, который вы сможете использовать в своем проекте!
Надеюсь на эту помощь.
Обратите внимание, что в версии 4.0 внешний вид кнопки «Найдите меня» в кнопке Maps.app изменился. Далее + [UIimage kitImageNamed:]
пропал, а вызов - [UIBarbuttonItem initWithBarButtonSystemItem:]
с недокументированным идентификатором 100 вернет графику в старом стиле.