Возможно ли NSLog C Структуры (Как CGRect или CGPoint)?

Вы должны вызвать метод show() вместо create().

Примечание: метод create() создает только экземпляр Dialog, но он не отображает его.

Одно предложение:

Вы можете создать метод, который возвращает Dialog следующим образом:

public Dialog createNewDialog(int type) {
   AlertDialog dlg = null;
   switch (type) {
      case SOME_CONSTANT:
         dlg = new AlertDialog.Builder(ActivityName.this / this)
            .setTitle("Title")
            .setMessage("Message")
            .setPositiveButton("Yes", null)
            .create();
      break;
   }
}

Тогда вы можете назвать его как:

createNewDialog(SOME_CONSTANT).show();

и ваш Dialog будет показан.

Особенно в вашем случае вы можете достичь своей цели с помощью этого фрагмента кода:

@Override
    public void onClick(View v) {
        // TODO Auto-generated method stub
        switch (v.getId()) {
        case R.id.bAdd:
            createNewDialog(SOME_CONSTANT).show();
            break;
        }
    }

Надеюсь, что это поможет.

408
задан mazniak 15 February 2009 в 02:28
поделиться

2 ответа

Можно попробовать это:

NSLog(@"%@", NSStringFromCGPoint(cgPoint));

существует много функций обеспечены UIKit, которые преобразовывают различные структуры CG в NSString с. Причина это не работает, состоит в том, потому что %@ показывает объект. CGPoint структура C (и так CGRect с и CGSize с.

798
ответ дан Josh Caswell 15 February 2009 в 12:28
поделиться

Я использую следующий макрос для выручения меня с NSRect:

#define LogRect(RECT) NSLog(@"%s: (%0.0f, %0.0f) %0.0f x %0.0f",
    #RECT, RECT.origin.x, RECT.origin.y, RECT.size.width, RECT.size.height)

Вы могли сделать что-то подобное для CGPoint:

@define LogCGPoint(POINT) NSLog(@"%s: (%0.0f, %0.0f)",
    #POINT POINT.x, POINT.y);

Используя его следующим образом:

LogCGPoint(cgPoint);

произвел бы следующее:

cgPoint: (100, 200)
13
ответ дан e.James 15 February 2009 в 12:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: